Re: [RFC][DISCUSSION] Deprecation of fallback to root scope

From: Date: Mon, 05 Feb 2018 14:39:57 +0000
Subject: Re: [RFC][DISCUSSION] Deprecation of fallback to root scope
References: 1 2 3 4 5 6  Groups: php.internals 
Request: Send a blank email to internals+get-101775@lists.php.net to get a copy of this message
On Mon, Feb 5, 2018 at 8:33 AM, Marco Pivetta <ocramius@gmail.com> wrote: > > 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 > > Agreed, but you can't just pull the rug out from under people. It's painful, but it's better to let people opt in to such a major change than to "break" their code. > > > Marco Pivetta > > http://twitter.com/Ocramius > > http://ocramius.github.com/ > >

« previous php.internals (#101775) next »