[PHP-DEV] [RFC] [Vote] Followup Improvements for ext/uri

Hi Internals,

As announced in the discussion thread (https://externals.io/message/129486), I have just started the vote on the ext/uri followup RFC: https://wiki.php.net/rfc/uri_followup.

The vote is going to be open until 2026-05-19 22:00:00 (UTC).

Regards,
Máté

Hey Máté

On 05.05.26 23:20, Máté Kocsis wrote:

Hi Internals,

As announced in the discussion thread ([RFC] [Discussion] Followup Improvements for ext/uri - Externals),
I have just started the vote on the ext/uri followup RFC:
PHP: rfc:uri_followup.

The vote is going to be open until 2026-05-19 22:00:00 (UTC).

Regards,
Máté

One thing I stumbled upon while going through the RFC a last time is the expected result of the hosttype detectiopn on mailto-URLs.

I couldn't find anything about the reasoning in the RFC or in the linked internals-discussion thread why

$url = new Uri\WhatWg\Url("mailto:john.doe@example.com");
echo $url->getHostType();

will be `null` and not `UriHostType::RegisteredName`

I might have missed something so please either shed some light on that or point me to the relevant discussion/documentation.

Thanks!

Cheers

Andreas

--
                                                               ,
                                                              (o o)
+---------------------------------------------------------ooO-(_)-Ooo-+
| Andreas Heigl |
| mailto:andreas@heigl.org N 50°22'59.5" E 08°23'58" |
| https://andreas.heigl.org |
+---------------------------------------------------------------------+
| Appointments - Nextcloud |
+---------------------------------------------------------------------+
| GPG-Key: https://hei.gl/keyandreasheiglorg |
+---------------------------------------------------------------------+

Hi Andreas,

The mailto URL scheme does not have any host component as per. its different RFCs
it is composed of:

  • a scheme component : mailto
  • a path component containing a list of email addresses separated by commas (as per your example)
  • and a query component representing the email optional headers info

As such the WHATWG and the RFC3986 interpretation will all return null because there’s simply no host to describe.

On Wed, May 6, 2026 at 7:07 AM Andreas Heigl <andreas@heigl.org> wrote:

Hey Máté

On 05.05.26 23:20, Máté Kocsis wrote:

Hi Internals,

As announced in the discussion thread (https://externals.io/message/129486),
I have just started the vote on the ext/uri followup RFC:
https://wiki.php.net/rfc/uri_followup.

The vote is going to be open until 2026-05-19 22:00:00 (UTC).

Regards,
Máté

One thing I stumbled upon while going through the RFC a last time is the
expected result of the hosttype detectiopn on mailto-URLs.

I couldn’t find anything about the reasoning in the RFC or in the linked
internals-discussion thread why

$url = new Uri\WhatWg\Url(“mailto:john.doe@example.com”);
echo $url->getHostType();

will be null and not UriHostType::RegisteredName

I might have missed something so please either shed some light on that
or point me to the relevant discussion/documentation.

Thanks!

Cheers

Andreas


,
(o o)
±--------------------------------------------------------ooO-(_)-Ooo-+
| Andreas Heigl |
| mailto:andreas@heigl.org N 50°22’59.5" E 08°23’58" |
| https://andreas.heigl.org |
±--------------------------------------------------------------------+
| https://hei.gl/appointmentwithandreas |
±--------------------------------------------------------------------+
| GPG-Key: https://hei.gl/keyandreasheiglorg |
±--------------------------------------------------------------------+