Extension Uri

PHP 🟡 Mid

Dé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.
#core#php85#security

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre