Re: Re: Emulating a class destructor
| From: | Sqlcoders.com Programming Dept | Date: | Wed, 12 Jun 2002 06:47:31 +0000 |
| Subject: | Re: Re: Emulating a class destructor | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-101617@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()');
>
Hiya,
thanks for the suggestion, but i get the same 'Unable to call ...' message.
Any other ways you can think of?
I tried the following:
'$this->cleanup()'
'$this->cleanup'
I also tried the :: syntax but it woudlnt work, plus the actions to be
performed rely on data contained within the instance.
TIA,
Dw.
> --
> 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.
> >
>
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>