Hello,

On Thu, 2006-03-02 at 14:21 -0500, Jeff Moore wrote:
> On Mar 2, 2006, at 11:33 AM, Mike Lively wrote:
> 
> Hi Mike,
> 
> > In regards to naming: 'static' wasn't my first choice either. In fact I
> > was originally using 'this::' due to me misreading the notes from the
> > PDM.
> 
> Does 'this' work ok?  I like that one.  this:: and $this would both be 
> late binding one for the class the other for the instance.  It makes a 
> lot of sense to me.  I think it explains why self isn't late binding, 
> too.  very nice.
> 
> this::method()
> this::$property
> this::constant
> get_this_class()
> 

My personal preference is this::. As it does help make things clear.
Chances of someone having a class named 'this' is pretty unlikely. The
decision just has to be made of whether or not we want to punish people
using 'this' as a class name. Like I said before 'static::' is the only
label that I know of that will have no BC issues.

On a somewhat related note. What should the behavior be if static:: (or
this::) is used in a non-static function? The current behavior is that
inside of a non-static function self:: == static::. Is this acceptable?
Or should it's usage be discouraged or should be disallowed?

> > (I doubt very strongly that anyone 'relies' on  early
> > binding for static functions...I could be wrong though.)
> 
> But they do for static properties.  Changing the meaning of 
> self::$property would probably break some stuff.
> 

Maybe, it's hard to know how people are using it for sure. Which is why
I think it's a bad idea to change the meaning of self::.

ds-

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to