Hi Niklas,
Niklas Keller wrote:
Hi Mathias,
Mathias Grimm wrote:
I would like to suggest a method constant that could be used the same way
we use the ::class one
I don't have a strong personal preference but it could be something like:
MyController::myActionMethod::method, no sure about the internals but it
would be consistent with the one for the class.
Cheers,
I've long wanted to make constant lookups fall back to a closure of the
correspondingly-named function, where one exists. so `strlen` would resolve
to a closure of strlen().
Thing is that classes are weird. We sort of have three different things
with sometimes-similar syntax: constants, methods and properties. foo::bar
is a constant, foo::bar() is a function, $foo->bar() is a function, but
$foo->bar is not a constant. So, if I want $foo->bar to resolve to a
method, then $foo::$bar should too, even though that makes no sense. The
PHP static property syntax is the bane of my existence.
Please no fallbacks, thanks. It was already a mistake for namespaced
functions.
I'm not exactly a huge fan of fallbacks myself. If we were to have such
a fallback, I'd like to deprecate overlapping method/property/constant
names and throw warnings to that effect, with an obvious goal of
eventually merging those namespaces.
…hey, if we merged properties and constants together, you could do
Foo::bar = $baz; instead of having to use the annoyingly inconsistent
Foo::$bar syntax. I'd love that.
--
Andrea Faulds
https://ajf.me/
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php