Hi! > As already mentioned, There can't be a class constant called "class", > because it is a keyword. (const class = 'Foo' is a syntax error).
It looks like class constant. So it should work like one (or, in this case, not work since as you noticed there can not be one). > But yes, I agree that runtime resolution only duplicates existing > behavior, so it isn't really necessary (you could argue thought that > self::class similarly also only replicates the existing __CLASS__). It > would be nice for consistency in my eyes, but I'm good without it too I do not see any "consistency" in creating functionality that is not needed and collides with existing syntax and actually works completely different even though it looks the same. Not much sense to have $foo::bar and $foo::class mean completely different things. foo::bar is static constant expression, so is foo::class, but static::class and $foo::class won't be. It all would be very confusing. I suggest limiting ourselves to constant expressions like foo::class, self::class and parent::class. -- Stanislav Malyshev, Software Architect SugarCRM: http://www.sugarcrm.com/ (408)454-6900 ext. 227 -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php