Hi, On Tue, May 2, 2017 at 5:07 PM, Christoph M. Becker <cmbecke...@gmx.de> wrote: > On 02.05.2017 at 12:56, Andrey Andreev wrote: > >> With parse_str() usage without a second parameter being deprecated, I >> was looking to possibly drop the behavior where it replaces spaces and >> dots with underscores in the result array, and ... As it often turns >> out - it's not that simple, because it re-uses the code that handles >> GPC vars. >> >> I didn't even know this mangling happened with GPC vars. I can only >> assume that's legacy from the the register_global days, as I certainly >> don't see a reason for it now. Am I missing something? >> >> And more importantly, can we change that? It's a significant BC break, >> yes, but the current behavior is horribly broken IMO. > > This issue has been already brought to the list quite a while ago[1]. > IMHO, the big problem is the subtle BC break. > > [1] <http://marc.info/?l=php-internals&m=144416398306733&w=2> >
Thanks for linking that. It's encouraging as I'd expect a previous discussion to have gathered mostly negative opinions due to the BC break. That old thread is from just the time when 7.0 was supposed to be released, so it was certainly an opportunity missed by a few months. I'm not surprised by the suggestion for targeting 8.0, but perhaps we could think of a way to conditionally disable the mangling in 7.x and then remove it entirely in 8? I hate to say INI directives, but that's surely one way for a smoother transition. Cheers, Andrey. -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php