Extension Uri
PHP 🟡 MidDéfinition
Extension intégrée à PHP 8.5 qui analyse les URI selon deux normes : Uri\Rfc3986\Uri (générique) et Uri\WhatWg\Url (comportement navigateur). Classes finales et immuables, méthodes with*() et résolution de références relatives. Elle corrige parse_url(), non conforme à un standard et source de confusions exploitables.
Analogie
Un lecteur de codes-barres officiel à la place d'un employé qui lit l'étiquette à l'œil.
Exemple de code
use Uri\Rfc3986\Uri;
use Uri\WhatWg\Url;
$uri = new Uri('https://php.net/releases/8.5/en.php');
var_dump($uri->getHost()); // "php.net"
$copy = $uri->withScheme('http')->withPath('/docs');
echo $copy->toString();
// hôtes Unicode côté WHATWG
$url = new Url('https://exämple.com/');
echo $url->getAsciiHost(); // punycode
echo $url->getUnicodeHost(); // exämple.com
Cas d'usage
Valider une URL soumise par l'utilisateur, normaliser des liens, résoudre une référence relative comme le ferait un navigateur.
Anti-pattern
Continuer avec parse_url() + FILTER_VALIDATE_URL pour de la sécurité : ils ne suivent aucun standard et divergent de cURL.
Termes liés
Fiche mise à jour le 2026-09-27