Re: Remove name mangling? (when creating variables from external sources)
| From: | Anthony Ferrara | Date: | Tue, 06 Oct 2015 21:21:02 +0000 |
| Subject: | Re: Remove name mangling? (when creating variables from external sources) | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-88709@lists.php.net to get a copy of this message | ||
Hey,
On Tue, Oct 6, 2015 at 4:38 PM, Bishop Bettini <bishop@php.net> wrote:
> Hi!
>
> Currently dots and spaces are converted to underscores when pulling them in
> from HTML:
>
> <!-- php will only see two submitted values, b/c of mangling -->
> <input type='file' name='file5.1' />
> <input type='file' name='file5 1' />
> <input type='file' name='file5_1' />
> <input type='text' name='file5.1' />
> <input type='text' name='file5 1' />
> <input type='text' name='file5_1' />
>
> Ostensibly[1], names were mangled to support import_request_variables and
> register_globals. But curiously other characters that would create an
> invalid variable aren't mangled:
>
> <input type='text' name='file5$1' /> <!-- why not mangle $
> also? -->
>
> There are already two bug requests out there asking to remove this behavior
> or expose the original name: #34882 and #42055
>
> Since 5.4.0 removed both import_request_variables and register_globals,
> does this mangling serve any purpose? If not, can we remove it?
>
>
> [1] http://php.net/manual/en/language.variables.external.php
> [2] https://bugs.php.net/bug.php?id=34882
> [3] https://bugs.php.net/bug.php?id=42055
I'm all for this. Mangling has always seemed ...weird... Pulling it
out is awesome.
However, it also would be a pretty non-trivial BC break for people who
rely on the mangling. This would be likely something for 8?
Anthony