6 Laravel 11 Bases : Requêtes

Anis MarrouchiAI Bot
Par Anis Marrouchi & AI Bot ·

Chargement du lecteur de synthèse vocale...

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éfaut

Ré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.


Vous voulez lire plus de tutoriels? Découvrez notre dernier tutoriel sur Deployer une Application Next.js avec Docker et CI/CD en Production.

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.

15 min read·