Hey Nikita, > On 20 Jan 2015, at 21:46, Nikita Popov <nikita....@gmail.com> wrote: > > On Tue, Jan 20, 2015 at 9:54 PM, Marc Bennewitz <dev@mabe.berlin> wrote: > >> valid for call_user_func[_array] and callable type-hint but invalid for >> for direct variable calls: >> - string "MyClass::staticFunc" >> - string "self::staticFunc" >> - string "static::staticFunc" >> - string "parent::func" >> - string "parent::staticFunc" >> >> see http://3v4l.org/1oSO3 >> >> Thoughts ? >> > > I would prefer deprecating this alternative notation instead of adding more > support for it. The [$class, $method] form is the canonical form we support > everywhere and which is consistent with the [$obj, $method] callbacks. > There's no point supporting another alternative notation, especially if it > was effectively unusable for a while now already.
By the way, this notation is also used by constant() and defined(): $ php -r 'class Foo { const FOO = 3; } var_dump(constant("Foo::FOO"), defined("Foo::FOO"));' int(3) bool(true) It’s also very intuitive compared to the function syntax. I see no reason we shouldn’t support it more widely. -- Andrea Faulds http://ajf.me/ -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php