FrameworkDocs
PHP 8.4+ UIkit 3 FA 6 Pro
Jede Response setzt automatisch folgende Sicherheitsheader: X-Content-Type-Options: nosniff, X-Frame-Options: DENY, Referrer-Policy: strict-origin-when-cross-origin.

Factory-Methoden

MethodeRückgabetypBeschreibung
Response::json(mixed $data, int $status = 200)staticErstellt eine JSON-Response. Content-Type wird automatisch auf application/json; charset=UTF-8 gesetzt. Wirft JsonException bei Encoding-Fehlern.
Response::html(string $html, int $status = 200)staticErstellt eine HTML-Response.
Response::redirect(string $url, int $status = 302)staticErstellt eine Redirect-Response. Erlaubt nur relative Pfade (/...) oder validierte vollständige URLs.

Instanz-Methoden

MethodeRückgabetypBeschreibung
header(string $name, string $value)staticSetzt oder überschreibt einen HTTP-Header. Gibt $this zurück (fluent).
getStatusCode()intGibt den HTTP-Status-Code zurück.
getBody()stringGibt den Response-Body zurück.
send()neverSendet Status-Code, alle Header und den Body an den Client. Beendet die Skript-Ausführung (exit).

Konstruktor

PHP
new Response(
    body:        string = '',
    statusCode:  int    = 200,
    contentType: string = 'text/html; charset=UTF-8'
)

Beispiele

PHP – JSON API
// Erfolg
return Response::json(['users' => $users]);

// Mit Status-Code
return Response::json(['error' => 'Not Found'], 404);
return Response::json(['created' => true], 201);

// Mit extra Header
return Response::json($data)
    ->header('Cache-Control', 'no-store')
    ->header('X-Request-Id', uniqid());
PHP – Redirect
// Nach Login weiterleiten
return Response::redirect('/dashboard');

// Nach Formular-Absenden (Post/Redirect/Get)
return Response::redirect('/users?created=1');

// Permanent Redirect
return Response::redirect('/new-url', 301);

// Externe URL (wird validiert)
return Response::redirect('https://example.com');
PHP – HTML mit Template
// HTML-String direkt
return Response::html('<h1>Hallo Welt</h1>');

// Mit Blade-Template
$html = $blade->render('pages.home', ['title' => 'Start']);
return Response::html($html);

// Fehlerseiten
return Response::html($blade->render('errors.404'), 404);
return Response::html($blade->render('errors.500'), 500);
PHP – Spezielle Antworten
// 204 No Content (z.B. nach DELETE)
return new Response('', 204);

// Datei-Download
return (new Response($fileContent, 200, 'application/octet-stream'))
    ->header('Content-Disposition', 'attachment; filename="export.csv"');

// 429 Too Many Requests
return new Response('Too Many Requests', 429)
    ->header('Retry-After', '60');