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