Re: [Discussion] Dots and spaces in GPC variable names

From: Date: Tue, 02 May 2017 19:48:56 +0000
Subject: Re: [Discussion] Dots and spaces in GPC variable names
References: 1 2  Groups: php.internals 
Request: Send a blank email to internals+get-98943@lists.php.net to get a copy of this message
Hi, On Tue, May 2, 2017 at 5:07 PM, Christoph M. Becker <cmbecker69@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.

« previous php.internals (#98943) next »