Volver a la página principal
viernes 31 enero 2025
7

PSR-7: Interfaz de Mensajes HTTP en PHP

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).

¿Qué es PSR-7?

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.

Componentes clave de PSR-7:

  • RequestInterface: Representa una solicitud HTTP del cliente.
  • ResponseInterface: Representa una respuesta HTTP del servidor.
  • ServerRequestInterface: Extiende RequestInterface con datos del entorno del servidor.
  • StreamInterface: Representa los cuerpos de solicitud y respuesta.
  • UriInterface: Modela las URLs de las peticiones HTTP.
  • UploadedFileInterface: Maneja archivos subidos.

Ejemplo de implementación

Para usar PSR-7, es común utilizar librerías como Nyholm/psr7, Zend Diactoros o Guzzle PSR-7.

Instalación con Composer

composer require nyholm/psr7

Uso de una solicitud y respuesta

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();
Etiquetas:
php
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer