Re: Re: bug of the day: $this

From: Date: Wed, 04 Dec 2002 01:21:50 +0000
Subject: Re: Re: bug of the day: $this
References: 1 2 3  Groups: php.dev 
Request: Send a blank email to php-dev+get-92054@lists.php.net to get a copy of this message
$this stays defined when an instantatiated member function calls a non-instantiated member function.
Correct. I actually find it quite interesting. :) It can be useful at times, I have used it in my libraries as a feature. There is an interesting article on the subject: http://www.advogato.org/article/470.html
Now, please tell me how can you decide whether the member function is called as an object element (eg. $obj->func()) or as a class element (eg. class::func()).
You mean from the function itself? You can't, as far as I can tell. That is why this works best if you have a "helper" class with all static methods. Once nice example that comes to mind is a method that persists objects to the database. But never mind that, I am not trying to justify the existence of this quirk so there is no point in discussing it.
Basic functionality is killed with this so-called feature.
Although I did use it as such, I wouldn't actually call this a feature, and would prefer to have it removed from ZE2. Bye, Ivan

« previous php.dev (#92054) next »