On Mon, Feb 5, 2018 at 8:33 AM, Marco Pivetta <ocram...@gmail.com> wrote:

>
> 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
>
>
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/
>
>

Reply via email to