Hey all, I'm having a strange problem with objects that I'm hoping someone out there can help me track down. I'll give a run down of the setup here, please note that register_globals is off.
A page creates two objects. $document - this is always a new object and uses the ob_ functions to control the output. ob_start is called with a customer callback that writes the output to a file based on $_SERVER variables. $session - this is an object that gets serialized whenever a request finishes and unserialized when the request begins. Each object uses register_shutdown_function(array($this, "desconstructor")) to set a hook to clean up after itself which works without problems. The following is then set. $document->session =& $session; $session->document =& $document; Everything works fine through out the page all properties of the session can be accessed and set via $session->whatever or $document->session->whatever and vice versa for the $document object. The problem arises when the $document->deconstructor function is called. As described above the ob_ callback fires and properly writes the captured output to a file then calls ob_end_clean() to dump the buffer and returns nothing, then right after the deconstructor function is called which does the following: include("a header file.php"); include("the temp file from ob_"); include("a footer file.php"); unlink("the temp file from ob_"); Now this works beautifully, except that some of the object properties get destoryed. For instance since the includes are called from $document->deconstructor it makes sense that $this should reference the document object and that $this->session should reference the session object, but the following happens. In the file I have this: $this is a <?=get_class($this)?><br> $tihs->session is a <?get_class($this->session)?><br> Which returns: $this is a rj_document $this->session is a Now I thought that it might be because the session object is destroyed before the document object fires its deconstructor call so when the objects are associated I changed the document line to be: $document->session = $session But I get the same results. Anyone have any insight? Thanks, Evan -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php