On 18.08.2015 at 22:47, Arne Blankerts wrote:
> while playing around with the new group use syntax, I stumbled upon an
> inconsistency of which I'm not sure whether or not it is expected.
> For the "classic" syntax, while technically pointless, a leading \ for
> the name is considered valid and works identical to a line without it:
>
> <?php
>
> namespace foo;
>
> use \some\bar;
> use some\baz;
>
>
> With the new group syntax, the version with a leading \ is considered
> invalid - a lint will PHP Parse error: syntax error, unexpected '{',
> expecting identifier (T_STRING):
>
> <?php
>
> namespace foo;
> use some\{ bar, baz };
> use \some\{ bar, baz };
>
>
>
>
> Is this a bug or feature?
It seems to me that is an oversight. The resolution would be rather
simple, cf.
<https://github.com/php/php-src/blob/php-7.0.0beta3/Zend/zend_language_parser.y#L366-L375>.
However, while looking at the grammar, I've noticed that the entities
inside the braces may start with a backslash, what I consider rather
strange (particularly as there has to be a backslash immediately before
the opening brace).
--
Christoph M. Becker
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php