Requests & Responses
Interagir avec le cycle HTTP de manière élégante.
L'objet Request
L'objet River\Request vous donne accès aux données de la requête entrante. Il est automatiquement injecté dans vos contrôleurs.
public function store(Request $request): Response
{
// Récupérer $_POST
$name = $request->post('name');
// Récupérer $_GET
$sort = $request->get('sort', 'desc'); // avec valeur par défaut
// Méthode HTTP
if ($request->method() === 'POST') { ... }
// URL
$uri = $request->uri();
// Sécurité
if ($request->is_secure()) { ... } // true si HTTPS
}
L'objet Response
La classe River\Response est immutable (lecture seule). Vous devez utiliser les factory methods pour en créer une.
Réponse HTML
use River\Response;
return Response::html('<h1>Hello</h1>');
return Response::html('Page non trouvée', 404);
Réponse JSON
return Response::json(['status' => 'success', 'id' => 123]);
Redirection
return Response::redirect('/login');
return Response::redirect('https://google.com');
Modifier une réponse
Comme la réponse est immutable, les modificateurs retournent une nouvelle instance :
$response = Response::json($data);
return $response->with_header('X-Custom-Header', 'Value')
->with_status(201);