Re: Emulating a class destructor

From: Date: Tue, 11 Jun 2002 20:34:06 +0000
Subject: Re: Emulating a class destructor
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-101615@lists.php.net to get a copy of this message
This is completely off the top of my head (i've never done this before) -- but try single-quoting it to prevent interpolation register_shutdown_function('$this->cleanup()'); -- Scott Hurring Systems Programmer EAC Corporation scott (*) eac.com -- "William_dw -- Sqlcoders" <webmaster@sqlcoders.com> wrote in message news:009401c211d9$a1863da0$6520fea9@dw... > 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. >

« previous php.general (#101615) next »