Re: [RFC] [Discussion] Followup Improvements for ext/uri
| From: | Larry Garfield | Date: | Tue, 02 Dec 2025 20:38:09 +0000 |
| Subject: | Re: [RFC] [Discussion] Followup Improvements for ext/uri | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-129515@lists.php.net to get a copy of this message | ||
On Mon, Dec 1, 2025, at 4:53 PM, ignace nyamagana butera wrote:
> Hi Larry,
>
>> - Url::isSpecial() Could we come up with a better name here? "Special" could
>> mean anything unless you know the RFC; it feels like "real escape string" all over
>> again.This comes from the WHATWG specification the isSpecial is how it is named there
I realize that, but the vast majority of PHP devs won't have read the official spec so
don't know what "special" means. Special in what way? The scheme, the path, the
encoding? It's completely non-obvious unless you're versed in the specification, which,
again, most people won't be.
>> It really feels like there's an interface to extract here from the Url/UriBuilder
>> classes. There's literally only one type-specific method (build()).
> Yes but the return type is not always the same object (Uri and Url are
> different so I would be incline not adding a useless interface they are
> similar yet different)
So the interface doesn't cover build(). Problem solved.
>> - Why both Uri getRawQueryParams() and getQueryParams()? It looks like they would return
>> the same value, no? (If not, that should be explained.)
> Because Uri\Rfc3986\Uri already exposes Uri::getQuery and Uri::getRawQuery.
Then the RFC needs to explain why we need to have both for the query params, and how they differ.
Right now, there's no explanation of how they differ, and the example suggests that they'd
return identical values.
--Larry Garfield