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