Very good find of an inconsistency. Does the testsuite reveal something
strange with that patch?

Am 10.07.11 19:41 schrieb "Nikita Popov" unter <nikita....@googlemail.com>:

>Well, I generally think that PHP should be less strict about reserved
>keywords. The number
>of reserved keywords increases with every further release of PHP. For
>example PHP 5.4
>introduces "trait" and "insteadof". PHP 5.3 introduced even more. Every
>new
>keyword PHP
>introduces both breaks old code and reduces the naming possibilities for
>classes and methods.
>
>I don't think that it's possible to refrain from adding further keywords.
>The language grows and
>with it the list of keywords.
>
>But I do think that it should be possible to prevent these additions from
>breaking old code or
>restricting userland naming.
>
>E.g. Writing
>
>class Evaluator {
>    public function eval() {
>
>    }
>}
>
>Does in no way create an ambiguity with the eval language construct PHP
>implements.
>
>But still PHP doesn't allow writing the above code. It would make sense to
>allow the
>use of the keyword in such situations. Actually PHP already does this in
>one
>place:
>The token after T_OPJECT_OPERATOR is never interpreted as a keyword. I.e.
>one can
>write $this->eval() (and define a magic __call method for 'eval').
>
>I don't know whether this is actually possible, but I've at least already
>seen a patch
>(http://pear.php.net/~greg/smarter_lexer.patch.txt) for the methodname
>case
>linked
>from a feature request (https://bugs.php.net/bug.php?id=28261).
>
>MfG Nikita



-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to