Re: Preserving an object [message #174667 is a reply to message #174666] |
Sat, 25 June 2011 17:10 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma:
|
Senior Member |
|
|
On 6/25/2011 9:37 AM, 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.
>>
>
> 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
No. Database connections are closed when the script terminates.
Transactional programming, like for web page scripts, is much different
than non-transactional programming. Basically you can pass data from
one script to another, but you cannot pass any external resources.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
|
|
|