6 Laravel 11 Bases : Requêtes

Introduction
La classe Illuminate\Http\Request de Laravel fournit une manière orientée objet d'interagir avec la requête HTTP actuelle gérée par votre application ainsi que de récupérer les entrées, cookies et fichiers soumis avec la requête.
Interagir avec la requête
Accéder à la requête
Pour obtenir une instance de la requête HTTP actuelle via l'injection de dépendances, vous devez type-hinter la classe Illuminate\Http\Request dans la closure de votre route ou la méthode de votre contrôleur :
use Illuminate\Http\Request;
Route::get('/', function (Request $request) {
$name = $request->input('name');
return redirect('/users');
});Injection de dépendances et paramètres de route
Si votre méthode de contrôleur attend également une entrée d'un paramètre de route, vous devez lister vos paramètres de route après vos autres dépendances :
use Illuminate\Http\Request;
public function update(Request $request, $id)
{
$name = $request->input('name');
// Mettre à jour l'utilisateur...
}Inspecter le chemin / la route de la requête
La méthode is vous permet de vérifier que le chemin de la requête entrante correspond à un pattern donné :
if ($request->is('admin/*')) {
// ...
}En utilisant la méthode routeIs, vous pouvez déterminer si la requête entrante correspond à une route nommée :
if ($request->routeIs('admin.*')) {
// ...
}Récupérer l'URL de la requête
Pour récupérer l'URL complète de la requête entrante, vous pouvez utiliser les méthodes url ou fullUrl :
$url = $request->url();
$urlWithQueryString = $request->fullUrl();Récupérer la méthode de la requête
La méthode method retournera le verbe HTTP de la requête :
$method = $request->method();
if ($request->isMethod('post')) {
// ...
}En-têtes de requête
Vous pouvez récupérer un en-tête de requête en utilisant la méthode header :
$value = $request->header('X-Header-Name');
$value = $request->header('X-Header-Name', 'default');Adresse IP de la requête
La méthode ip peut être utilisée pour récupérer l'adresse IP du client :
$ipAddress = $request->ip();Entrée
Récupérer l'entrée
Vous pouvez récupérer toutes les données d'entrée de la requête comme un tableau en utilisant la méthode all :
$input = $request->all();Récupérer une valeur d'entrée
En utilisant la méthode input, vous pouvez accéder à toute entrée utilisateur :
$name = $request->input('name');
$name = $request->input('name', 'Sally'); // Avec valeur par défautRécupérer l'entrée depuis la chaîne de requête
La méthode query récupère uniquement les valeurs de la chaîne de requête :
$name = $request->query('name');
$name = $request->query('name', 'Helen');Récupérer les valeurs d'entrée JSON
Lors de l'envoi de requêtes JSON, vous pouvez accéder aux données JSON via la méthode input :
$name = $request->input('user.name');Récupérer les valeurs d'entrée booléennes
La méthode boolean retourne true pour 1, "1", true, "true", "on" et "yes" :
$archived = $request->boolean('archived');Présence de l'entrée
Vous pouvez utiliser la méthode has pour déterminer si une valeur est présente :
if ($request->has('name')) {
// ...
}Ancienne entrée
Flasher l'entrée dans la session
La méthode flash flashera l'entrée actuelle dans la session :
$request->flash();
$request->flashOnly(['username', 'email']);
$request->flashExcept('password');Flasher l'entrée puis rediriger
return redirect('form')->withInput();
return redirect('form')->withInput($request->except('password'));Récupérer l'ancienne entrée
$username = $request->old('username');Dans un template Blade :
<input type="text" name="username" value="{{ old('username') }}">Cookies
Récupérer les cookies des requêtes
$value = $request->cookie('name');Fichiers
Récupérer les fichiers téléchargés
$file = $request->file('photo');
$file = $request->photo;Vous pouvez déterminer si un fichier est présent :
if ($request->hasFile('photo')) {
// ...
}Valider les téléchargements réussis
if ($request->file('photo')->isValid()) {
// ...
}Stocker les fichiers téléchargés
$path = $request->photo->store('images');
$path = $request->photo->store('images', 's3');
$path = $request->photo->storeAs('images', 'filename.jpeg');Référence
Pour plus d'informations, consultez la documentation Laravel par l'équipe Laravel.
Discutez de votre projet avec nous
Nous sommes ici pour vous aider avec vos besoins en développement Web. Planifiez un appel pour discuter de votre projet et comment nous pouvons vous aider.
Trouvons les meilleures solutions pour vos besoins.
Articles connexes

7 Laravel 11 Bases : Réponses
Apprenez les bases de la gestion des réponses HTTP dans Laravel 11. Ce tutoriel couvre les diverses méthodes et propriétés pour créer et gérer les réponses efficacement.

Demarrer avec Laravel 11 : Installation, Configuration et Structure des Repertoires
Demarrer avec Laravel 11 : Installation, Configuration et Structure des Repertoires

2 Les Bases de Laravel 11 : Routage
Un guide informatif sur les bases du routage dans Laravel 11, adapte aux developpeurs de tous niveaux.