Re: Preserving an object [message #174668 is a reply to message #174666] |
Sun, 26 June 2011 03:18 |
The Natural Philosoph
Messages: 993 Registered: September 2010
Karma:
|
Senior Member |
|
|
bruceaj wrote:
> On Jun 25, 8:08 am, Jerry Stuckle <jstuck...@attglobal.net> wrote:
>> On 6/25/2011 7:06 AM, Jivanmukta wrote:
>>
>>>> Put it in a separate file and include it?
>>> IMHO it is not enough. Object should be stored in $_SESSION.
>> Don't worry about TNP - it's a typical response from him. He doesn't
>> even know the difference between a class and an object.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>> I have similar problem.
>>> I tried to solve it this way:
>>> File 1:
>>> session_start();
>>> ...
>>> $_SESSION['statement'] = $statement; // object
>>> File 2:
>>> session_start();
>>> function __autoload($className) {
>>> require_once 'class.' . strtolower($className) . '.php';
>>> }
>>> $statement = $_SESSION['statement'];
>>> but I receive such error:
>>> object (__PHP_Incomplete_class) #1 (8) {
>>> ["__PHP_Incomplete_Class_Name"] => string(9) "Statement" etc.
>>> Could anybody help me?
>> You have to have the class file loaded BEFORE starting the session so
>> the interpreter knows how to deserialize the $_SESSION object.
>>
>> P.S. I don't like autoload. It causes too many problems, like
>> performance from having to search multiple directories, or even loading
>> the wrong file because someone stuck a file with the same name in
>> another directory. Even changing directory permissions can cause problems.
>>
>> And, as you see, it doesn't work with sessions.
>>
>> --
>> ==================
>> Remove the "x" from my email address
>> Jerry Stuckle
>> JDS Computer Training Corp.
>> jstuck...@attglobal.net
>> ==================
>
> Well, the object I'm trying to preserve is a database connection. SO,
> from reading the above responses, it SEEMS that $_SESSIONs will NOT
> work. Bottom line, I can't do it.
>
> Thanks for the responses....
>
> Bruce
Now if you had said that...to start with
No, a database connection will be broken when the script terminates.
You might carry a pointer to it, but it wont be there to point to :-)
Either reopen the connection, or build a layer in another language that
will keep connections open when PHP terminates.
But is very little overhead reopening a database connection.
|
|
|