Re: [RFC][DISCUSSION] Deprecation of fallback to root scope
| From: | Marco Pivetta | Date: | Mon, 05 Feb 2018 14:33:46 +0000 |
| Subject: | Re: [RFC][DISCUSSION] Deprecation of fallback to root scope | ||
| References: | 1 2 3 4 5 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-101774@lists.php.net to get a copy of this message | ||
On Mon, Feb 5, 2018 at 3:28 PM, Michael Morris <tendoaki@gmail.com> wrote:
> The problem is that behavior has been around so long that any attempt to
> change it would incur a massive amount of changes. Using the E_STRICT
> notice level instead of E_DEPRECATED has been floated as one fix for this,
> but this doesn't change the fact that major applications and frameworks,
> such as Drupal, pride themselves in being able to pass all tests even with
> E_STRICT enabled. The maintainers of these projects would be annoyed to say
> the least to need to fix thousands of lines of code to get back to that
> point, and downstream projects such as Drupal could end up waiting years
> for all their upstream libraries to get their act together.
>
Much like any upgrade requiring patches for full compliance with newer PHP
versions, it needs work.
The typical workflow is:
* add PHP.NEXT to the CI setup
* run everything through the tests again, figure out how much has broken
* fix it
In this case, we even *already* have *multiple* tools that automatically
fix this problem in one shot.
Since the two issues are somewhat tied, why not bind them to a
> configuration flag following the pattern that was used to ultimately remove
> register_globals functionality from the language? At this point let it be
> known that when constant/function overloaders hit a php.ini config option
> will be added to turn them on -- and turning them on will turn global
> scoping for functions off.
>
Argh
Marco Pivetta
http://twitter.com/Ocramius
http://ocramius.github.com/