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

Reply via email to