Gerer les donnees utilisateur avec Laravel Request : input, JSON, fichiers et segments URL

Guide complet sur la classe Request de Laravel : detection, validation, acces aux donnees JSON, upload de fichiers et segments de route.

Mahmoud DEVO
Mahmoud DEVO
December 28, 2025 3 min read
Gerer les donnees utilisateur avec Laravel Request : input, JSON, fichiers et segments URL

Collecter et Gérer les Données Utilisateurs avec Laravel

Laravel offre de nombreuses fonctionnalités pour collecter et gérer les données utilisateurs. Dans cet article, nous allons explorer comment utiliser la classe Request pour accéder aux données utilisateur à partir des requêtes HTTP.

Détection d’existence de données utilisateur

La méthode $request->has() permet de détecter si une pièce particulière de donnée utilisateur est disponible.

use Illuminate\Http\Request;

Route::post('post-route', function (Request $request) {
    if ($request->has('utm')) {
        // Faire du travail d'analyse
    }
});

Accès aux données utilisateur

La méthode $request->input() permet de récupérer la valeur d’une seule field.

use Illuminate\Http\Request;

Route::post('post-route', function (Request $request) {
    $userName = $request->input('name', 'Matt');
});

Notez que le deuxième paramètre est la valeur par défaut, donc si l’utilisateur n’a pas passé de valeur, vous pouvez avoir une valeur sensée (et non cassante).

Méthode et méthode isMethod

La méthode $request->method() retourne le verbe HTTP pour la requête, tandis que $request->isMethod() vérifie si il correspond au verbe spécifié.

use Illuminate\Http\Request;

Route::post('post-route', function (Request $request) {
    $method = $request->method();
    if ($request->isMethod('patch')) {
        // Faire quelque chose si le méthode de requête est PATCH
    }
});

Entrée array

Laravel fournit des helpers de commodité pour accéder aux données à partir d’entrées array. Utilisez la notation “dot” pour indiquer les étapes de plongeon dans la structure array, comme dans l’exemple suivant :

use Illuminate\Http\Request;

Route::post('employees', function (Request $request) {
    $employeeZeroFirstName = $request->input('employees.0.firstName');
    $allLastNames = $request->input('employees.*.lastName');
    $employeeOne = $request->input('employees.1');
});

JSON et $request->json()

Si vous envoyez des données sous forme de JSON, vous pouvez utiliser $request->input() pour les récupérer.

use Illuminate\Http\Request;

Route::post('post-route', function (Request $request) {
    $firstName = $request->input('firstName');
    $spouseFirstname = $request->input('spouse.firstName');
});

Mais si vous préférez être plus explicite sur l’origine des données, vous pouvez utiliser $request->json().

use Illuminate\Http\Request;

Route::post('post-route', function (Request $request) {
    $firstName = $request->json('firstName');
    $spouseFirstname = $request->json('spouse.firstName');
});

Facades et helper global

Si vous utilisez des facades à l’intérieur de classes nommées (par exemple, les contrôleurs), vous devez ajouter le chemin complet du facade au bloc d’importation en haut de votre fichier (par exemple, use Illuminate\Support\Facades\Request;).

Les facades ont également des fonctions de helper global associées. Si ces fonctions sont appelées sans paramètre, elles exposent la même syntaxe que le facade (par exemple, request()->has() est la même chose que Request::has()). Elles ont également un comportement par défaut pour quand vous passez des paramètres (par exemple, request('firstName') est un raccourci pour request()->input('firstName')).

Route Data

Il peut sembler étrange de considérer le chemin d’accès comme étant une forme de données utilisateur, mais c’est tout aussi important que les autres.

Vous pouvez accéder aux segments du chemin d’accès en utilisant $request->segments() qui retourne un tableau de tous les segments ou $request->segment($segmentId) pour récupérer la valeur d’un segment spécifique.

use Illuminate\Http\Request;

Route::post('post-route', function (Request $request) {
    $segments = $request->segments();
    echo $segments[0]; // Affiche "users"
});

Notez que les segments sont retournés sur un index de 1, donc dans l’exemple précédent, $request->segment(1) retournerait “users”.

Chargement de fichiers

La classe Request fournit également accès aux fichiers chargés via la méthode $request->file() qui prend le nom d’entrée du fichier comme paramètre et renvoie une instance de Symfony\Component\HttpFoundation\File\UploadedFile.

use Illuminate\Http\Request;

Route::post('employees', function (Request $request) {
    $profilePicture = $request->file('profile_picture');
});

En conclusion, Laravel fournit de nombreuses fonctionnalités pour collecter et gérer les données utilisateur. En utilisant la classe Request et ses méthodes associées, vous pouvez facilement accéder aux données utilisateur à partir des requêtes HTTP.

Pour aller plus loin, nous recommandons d’étudier le chapitre 10 de la documentation Laravel qui couvre en détail la gestion des données utilisateur.

Advertisement

In-Article Ad

Dev Mode

Share this article

Mahmoud DEVO

Mahmoud DEVO

Senior Full-Stack Developer

I'm a passionate full-stack developer with 10+ years of experience building scalable web applications. I write about Vue.js, Node.js, PostgreSQL, and modern DevOps practices.

Enjoyed this article?

Subscribe to get more tech content delivered to your inbox.

Related Articles