PSR-7 es un estándar definido por PHP-FIG que establece interfaces para representar mensajes HTTP en aplicaciones PHP. Facilita la interoperabilidad entre frameworks y middleware al definir estructuras consistentes para solicitudes (requests) y respuestas (responses).
PSR-7 proporciona un conjunto de interfaces para representar mensajes HTTP de acuerdo con la especificación de HTTP/1.1. Se usa en frameworks como Laravel, Symfony y middleware como Slim o Zend Diactoros, permitiendo manipular peticiones y respuestas de forma estandarizada.
RequestInterface
con datos del entorno del servidor.
Para usar PSR-7, es común utilizar librerías como Nyholm/psr7, Zend Diactoros o Guzzle PSR-7.
composer require nyholm/psr7
require 'vendor/autoload.php';
use Nyholm\Psr7\Request;
use Nyholm\Psr7\Response;
// Crear una solicitud GET
$request = new Request('GET', 'https://api.ejemplo.com/recurso');
// Crear una respuesta con código 200 y contenido JSON
$response = new Response(200, ['Content-Type' => 'application/json'], json_encode(['mensaje' => 'Hola, mundo']));
echo $response->getBody();
Jorge García
Fullstack developer