rfc:parse_str_alternative
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
rfc:parse_str_alternative [2021/08/05 22:18] – Implemenation ready dharman | rfc:parse_str_alternative [2022/05/21 14:03] (current) – Withdrawn dharman | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== PHP RFC: Add parse_query_string | + | ====== PHP RFC: Add http_parse_query |
* Date: 2021-06-23 | * Date: 2021-06-23 | ||
* Author: Kamil Tekiela < | * Author: Kamil Tekiela < | ||
- | * Status: | + | * Status: |
* Implementation: | * Implementation: | ||
- | * Target Version: PHP 8.1 | + | * Target Version: PHP 8.2 |
===== Introduction ===== | ===== Introduction ===== | ||
- | PHP offers a function for parsing query string into an array. The function | + | PHP offers a function for parsing query string into an array. The function, for historical reasons, |
<PHP> | <PHP> | ||
Line 22: | Line 22: | ||
===== Proposal ===== | ===== Proposal ===== | ||
- | The proposal is to create a new function as a copy of %%parse_str()%% but change the name to %%parse_query_string()%% and return the array instead of using the out parameter. The new function will take only one argument. | + | The proposal is to create a new function as a copy of %%parse_str()%% but change the name to %%http_parse_query()%% and return the array instead of using the out parameter. The new function will take only one argument. |
The new function will also be maintained in the manual under https:// | The new function will also be maintained in the manual under https:// | ||
Line 29: | Line 29: | ||
$str = " | $str = " | ||
- | $output = parse_query_string($str); | + | $output = http_parse_query($str); |
echo $output[' | echo $output[' | ||
echo $output[' | echo $output[' | ||
echo $output[' | echo $output[' | ||
</ | </ | ||
+ | |||
+ | |||
+ | ===== Open Points ===== | ||
+ | |||
+ | ==== Should PHP remove name mangling? ==== | ||
+ | |||
+ | As suggested on the mailing list, the name mangling does not serve any purpose anymore. It was a way to simplify variable access when register globals was used. Since PHP 8.0, this functionality is not available anymore, so the question is should we remove the name mangling from PHP parse functions completely (which would require a separate RFC and smart deprecation path) or should we remove it only from the new function? | ||
+ | |||
+ | If we should remove name mangling, what should happen to mismatched square brackets? | ||
+ | |||
+ | ==== Should it be implemented in OOP way instead? ==== | ||
+ | |||
+ | Maybe the replacement should be in a form of a full-fledged class with properties from two-way conversion from string to PHP array/ | ||
===== Future Scope ===== | ===== Future Scope ===== | ||
Line 48: | Line 61: | ||
- | <doodle title=" | + | <doodle title=" |
* Yes | * Yes | ||
* No | * No | ||
Line 54: | Line 67: | ||
===== Discussion on internals ====== | ===== Discussion on internals ====== | ||
+ | https:// | ||
rfc/parse_str_alternative.1628201936.txt.gz · Last modified: 2021/08/05 22:18 by dharman