Hello Gareth,

__destruct will get executed during request shutdown after the
communication has been shutdown. The only way to be able to write
from within __destruct is to deinitialize it at the end of the
script and therefore before the request is being finished. To
do so you can use 'unset($object);'

regards
marcus

Thursday, June 24, 2004, 1:27:30 PM, you wrote:

> ok,

> If this is fixed in cvs, I appologise - google wasn't suggesting that 
> this has come up before.

> I've just been playing around with the __destruct() function a little 
> bit, and seeing exactly what I could do with it.

> Basically, I have a company info class, and a logger class. The logger 
> class is loaded and called by the main script first, with the object 
> accessed through $LOG. It's only very basic $log->event(""); type 
> functions though. Now, this $LOG is then passed to the company info 
> class when that is initialised (the way it's set up, I'm deliberatly 
> avoiding extending classes for this).
> From this point, companyInfo class takes the $LOG variable passed to it 
> in the __construct() method and assigns it to a private variable within 
> the class.

> What I'm then trying to do within the __destruct() method is to then do:
> if ($this->LOG->events) {
>       $this->LOG->event("Leaving company info class");
> }

> However, what seems to be happening is that this is not being executed, 
> presumably as the variables/objects have been removed from memory before 
> __destruct() is called. I'm also getting no warning whatsoever.

> It'd seem to me, that the ability to call variables within __destruct() 
> is quite valuable, as you're kinda limited to just printing output 
> otherwise (ok, not strictly true, but you get what I mean).

> This is with php5-rc3 btw.

> Can anybody confirm that this is 'intended' behaviour - because it seems 
> bloody odd if it is.

> Cheers.

> -- 
> Gareth Ardron 




-- 
Best regards,
 Marcus                            mailto:[EMAIL PROTECTED]

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to