Re: [PHP] Question on PHP 6 and static calls to instance methods.

[email protected] ("Nathan Nobbe")
Newsgroups php.general
Message-ID <[email protected]>
On 5/3/08, Adam Richardson <[email protected]> wrote:
>
> I have a quick question on what's coming in PHP 6.
>
> I've incorporated use of the ability to call instance methods through
> static calls, allowing for me to mimic multiple inheritance without having
> to make edits to classes that are already working because of the behavior of
> '$this' when instance methods are called statically.
>
> As stated on in the basics section on classes and objects:
>
> "$this is a reference to the calling object (usually the object to which
> the method belongs, but can be another object, if the method is called
> statically from the context of a secondary object)."
>
> I've made great use of that functionality in my framework.  However, It
> sounds like this is going to cause a fatal error in PHP6.  Is this in fact
> true?  And, if the behavior is going to change, can somebody explain what
> the impetus for this change was?
>

this is an interesting feature; i was not previously aware of it.  its
something akin to javascripts concept of the execution context and the
apply(), call() methods.  i think it would be better if the class that used
the $this keyword whereby it was made to refer to the instance of the
caller, have access to the protected members of the other class.  i think
this would be reasonable because the client has to invoke the method on the
class that intends to use the $this keyword in the context of its caller;
essentially sanctioning access to protected members.  i think the feature
would be quite awesome if that were the case and i can imagine instances
where i would use it.

-nathan
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.