On 31.01.2017 at 23:49, Johannes Schlüter wrote:

> On Tue, 2017-01-31 at 23:46 +0100, Johannes Schlüter wrote:
>
>> On Sun, 2017-01-29 at 19:33 +0000, Rowan Collins wrote:
>>> Currently, if the constant FROB_ACTIVE is not defined, the code "echo 
>>> FROB_ACTIVE;" results in an E_NOTICE and the string 'FROB_ACTIVE'
>>> being displayed. I would like to propose that this be changed to an
>>> E_WARNING in PHP 7.2, and to an Error in PHP 8.0.
>>
>> related: There is another context where unquoted strings are used:
>>
>>    $a = [ "foo" => "bar" ];
>>    echo "Let's go and have a drink in a $a[foo]!";

This is explicitly mentioned in the RFC's "Unaffected PHP Functionality"
section[1].  The RFC suggest to keep this shortcut.

> Oh and there's another case:
> 
>    foo.php?a[foo]=bar
> 
>> Any thoughts about continuing to allow that?
> 
> I'm not saying we have to change those. But I believe the symmetry there
> is part of the historic reason.

Okay, but in neither case you've mentioned there are any potential
pitfalls, i.e. `foo` can't be mistaken for a constant there, because the
engine expects an unquoted string.

[1]
<https://wiki.php.net/rfc/deprecate-bareword-strings#unaffected_php_functionality>

-- 
Christoph M. Becker

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

Reply via email to