Emulating a class destructor
| From: | William_dw -- Sqlcoders | Date: | Wed, 12 Jun 2002 06:21:43 +0000 |
| Subject: | Emulating a class destructor | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-101611@lists.php.net to get a copy of this message | ||
Hi there!,
I'm trying to emulate a class destructor, according to the PHP documentation
I can emulate this by using a call to register_shutdown_function(),
containing the function to be called upon shutdown.
While this apparently works outside a class, I want to use it inside a
class, in other words I want to have something like this:
class cRoute{
function cRoute(){
//register the shutdown function in case people who use this class
dont call the appropiate close methods.
register_shutdown_function("cleanup()");
}
function cleanup(){
//cleanup.
trigger_error("Please call close() before the page ends, to prevent
problems close() has been called automatically for you.");
$this->close();
}
function close(){
//close open sockets, etc.
}
}
I have tried:
register_shutdown_function("cleanup()");
register_shutdown_function("$this->cleanup()");
register_shutdown_function($this->cleanup());
register_shutdown_function("cDB::cleanup()");
They all return something like: Warning: Unable to call ()() - function does
not exist in Unknown on line 0
If anyone has any ideas I'd appreciate the help.
Thanks in advance!,
Dw.