On 5/3/08, Adam Richardson <adam@xxxxxxxxxxxxxx> 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