Good evening all!

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.

My reasoning for this includes:

- consistency with other "undefined" errors, including the otherwise identical "echo \FROB_ACTIVE;" - the fallback to string appears to be largely undocumented except to discourage its use
- the error can mask serious bugs, such as when mis-typing keywords

I have tried to anticipate some of the questions that will be raised, so have drafted an RFC rather than trying to fit all the detail into one e-mail: https://wiki.php.net/rfc/deprecate-bareword-strings

Please read my proposal, and let me know your thoughts. I have placed the RFC "under discussion", but will be happy to modify it based on feedback, and am in no haste to put it to a vote.

Regards,

--
Rowan Collins
[IMSoP]


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

Reply via email to