HTTP-Modul Dokumentation
Übersicht
Das HTTP-Modul stellt Komponenten für die Verarbeitung von HTTP-Anfragen und -Antworten bereit.
Hauptkomponenten
Request
Repräsentiert eine HTTP-Anfrage mit Methoden zum Zugriff auf:
- HTTP-Methode (
getMethod()) - Pfad (
getPath()) - Query-Parameter (
getQueryParams()) - Request-Body
- Headers
Response
Repräsentiert eine HTTP-Antwort mit:
- Status-Code (
getStatusCode()) - Headers
- Body
Middleware
Ein Interface für HTTP-Middleware-Komponenten, die die Request-Verarbeitung verändern können:
interface Middleware
{
public function process(Request $request, callable $next): Response;
}
Beispiel-Middleware:
class AnalyticsMiddleware implements Middleware
{
public function __construct(
private readonly Analytics $analytics
) {}
public function process(Request $request, callable $next): Response
{
// Request tracken
$this->analytics->track('http_request', [
'method' => $request->getMethod(),
'path' => $request->getPath(),
]);
// Request weiterleiten
$response = $next($request);
// Response tracken
$this->analytics->track('http_response', [
'status_code' => $response->getStatusCode(),
]);
return $response;
}
}
Integration mit anderen Modulen
- Router: Routing von HTTP-Requests zu Controllers
- Analytics: Tracking von HTTP-Requests und -Responses
- Validation: Validierung von Request-Daten
Middlewares registrieren
In der Anwendungsklasse:
$this->addMiddleware(LoggingMiddleware::class);
$this->addMiddleware(AnalyticsMiddleware::class);
$this->addMiddleware(AuthenticationMiddleware::class);
Responses erzeugen
// JSON-Response
return new JsonResponse(['success' => true]);
// HTML-Response
return new HtmlResponse('<html><body>Hello World</body></html>');
// Redirect
return new RedirectResponse('/dashboard');