On Mon, Feb 5, 2018 at 3:28 PM, Michael Morris <tendo...@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/