PSR-7 (messages HTTP)
PHP 🟡 MidDéfinition
Standard PHP-FIG qui définit les interfaces des messages HTTP : RequestInterface, ServerRequestInterface, ResponseInterface, StreamInterface, UriInterface, UploadedFileInterface. Les messages sont immuables : chaque with*() retourne une nouvelle instance. Base des middlewares PSR-15 et des clients PSR-18.
Analogie
Un formulaire administratif normalisé : chaque guichet le lit sans demander de version spéciale.
Exemple de code
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Message\ResponseInterface as Response;
function handle(Request $request): Response
{
$name = $request->getQueryParams()['name'] ?? 'monde';
// immuable : withHeader() retourne une copie
$response = (new Response())
->withStatus(200)
->withHeader('Content-Type', 'text/plain');
$response->getBody()->write("Bonjour $name");
return $response;
}
Cas d'usage
Écrire un middleware ou une bibliothèque compatible avec Slim, Laminas, Symfony (via bridge) sans dépendre d'un framework.
Anti-pattern
Appeler $response->withHeader(...) sans réaffecter le résultat : l'objet d'origine n'est pas modifié.
Termes liés
Fiche mise à jour le 2026-09-27