Re: [RFC] [Discussion] Followup Improvements for ext/uri

From: Date: Tue, 02 Dec 2025 06:49:05 +0000
Subject: Re: [RFC] [Discussion] Followup Improvements for ext/uri
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-129501@lists.php.net to get a copy of this message
Hi Máté, After quickly checking the proposed API for Percent-Encoding and Decoding Support I wonder if the following would not be more appropriate ? ```php namespace Uri\Rfc3986 { enum UriPercentEncoding { case UserInfo; case Host; case RelativeReferencePath; case RelativeReferenceFirstPathSegment; case Path; case PathSegment; case Query; case FormQuery; case Fragment; case AllReservedCharacters; case All; public function encode(string $input): string {} public function decode(string $input): string {} } } ``` With the same logic being applied in the Uri\Whatwg namespace. This would make for a better encapsulated feature. So we can have a clear distinction between the Value Object, its builder and the Encoding mechanism ? What do you think? Best regards, Ignace On Mon, Dec 1, 2025 at 9:53 PM Máté Kocsis <kocsismate90@gmail.com> wrote: > Hi Everyone, > > I'd like to introduce my latest RFC that I've been working on for a while > now: https://wiki.php.net/rfc/uri_followup. > > It proposes 5 followup improvements for ext/uri in the following areas: > - URI Building > - Query Parameter Manipulation > - Accessing Path Segments as an Array > - Host Type Detection > - URI Type Detection > - Percent-Encoding and Decoding Support > > I did my best to write an RFC that was at least as extensive as > https://wiki.php.net/rfc/url_parsing_api had become by the end. > Despite > my efforts, > there are still a couple things which need a final decision, or which > need to be polished/improved. Some examples: > > - How to support array/object values for constructing query strings? ( > https://wiki.php.net/rfc/uri_followup#type_support) > - How to make the UriQueryParams and UrlQueryParams classes more > interoperable with the query string component (mainly with respect to > percent-encoding)? ( > > https://wiki.php.net/rfc/uri_followup#percent-encoding_and_decoding) > - Exactly how the advanced percent-decoding capabilities should work? Does > it make sense to support all the possible modes (UriPercentEncodingMode) > for percent-decoding as well ( > > https://wiki.php.net/rfc/uri_followup#percent-encoding_and_decoding_support > ) > - etc. > > Regards, > Máté >

« previous php.internals (#129501) next »