On Fri, Jan 8, 2016 at 9:39 AM, Nikita Popov <nikita....@gmail.com> wrote: I still don't like this part: > > > > As written, one can't: the engine emits the error as soon as it mangles > a variable, at most one time per startup. While that's annoying, it's also > informative: someone's hitting your application in a way that may not > expect. > > Even if it's only a single deprecation warning instead of multiple, it's > still a deprecation warning that I, as the application author, have > absolutely no control over. For me, a deprecation warning indicates that > there is some code I must change to make that warning *go away*. > > Sure, it's informative. But it's enough to be informative about this > *once*, rather than every time a user makes an odd-ish request. > > If we don't want to introduce an ini setting (against which there are good > reasons, as you have outlined) I'd just mark this as deprecated with a nice > red box in the documentation and upgrading guide, and commit to dropping it > in 8.0, but not throw actual deprecation notices. >
Agreed. Updated RFC. In summary: - The docs for 7.1 will say mangling is deprecated in 8.0 and that a polyfill to avoid a BC break will be available for download - The 8.0 code will completely remove all superglobal name mangling I feel we're pretty close on this, but of course comments appreciated: https://wiki.php.net/rfc/on_demand_name_mangling