On 11/04/2014 04:42 PM, Levi Morrison wrote: >>> If we used this syntax instead, which wouldn’t disrupt grep: >>> >>> public Foo function bar(); >>> >>> It’d be inconsistent with normal function declarations which would have to >>> have Foo after function. >> >> I don't understand that inconsistency. >> >> public Foo function bar() { } >> >> looks perfectly sane to me. PHP's syntax was very heavily influenced by >> C from day 1. In C you have: >> >> static int bar() { } >> >> In PHP the 'function' keyword indicates what follows is a function. >> Putting something in between the function keyword and the name of the >> function would confuse me. To me "function bar()" is inseparable and is >> equivalent to "bar()" in C which makes the above examples consistent >> with each other. > > Except `static function()` and `static function foo()` already have > meaning, and if we allowed static return types (very possible) that > would be ambiguous. This syntax is a no-go.
static isn't a type it is a scope. You want to expand return types to also cover scopes? How is that in any way useful? -Rasmus -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php