Laravel: Route avec Contrôleur
Introduction
Dans Laravel, l'utilisation de contrôleurs avec les routes permet de structurer efficacement le code en séparant la logique de traitement des requêtes de la définition des routes. Ce tutoriel explore l'utilisation des routes avec contrôleur dans Laravel.
Exemples
Voici comment déclarer une route avec un contrôleur dans Laravel :
// web.php
use App\Http\Controllers\UtilisateurController;
Route::get('/utilisateur/{id}', [UtilisateurController::class, 'afficher']);
Dans cet exemple, la route '/utilisateur/{id}' est associée à la méthode 'afficher' du contrôleur 'UtilisateurController'.
Déclaration de ressources :
// web.php
use App\Http\Controllers\ArticleController;
Route::resource('/articles', ArticleController::class);
Cette déclaration génère automatiquement les routes RESTful pour le contrôleur 'ArticleController'.
Remarques
- Les contrôleurs sont des classes qui regroupent la logique de traitement des requêtes.
- Les routes peuvent être associées à des méthodes de contrôleurs en utilisant la syntaxe `[Contrôleur::class, 'méthode']`.
- L'utilisation de ressources simplifie la création de routes RESTful pour un contrôleur donné.
Exercices Corrigés
Testez vos compétences avec ces exercices pratiques :
// web.php
use App\Http\Controllers\PageController;
Route::get('/page/{slug}', [PageController::class, 'afficher']);
Dans cet exercice, créez une route qui associe la méthode 'afficher' du contrôleur 'PageController' pour afficher une page en fonction du slug.
// web.php
use App\Http\Controllers\CommandeController;
Route::post('/commande', [CommandeController::class, 'creer']);
Dans cet exercice, créez une route qui associe la méthode 'creer' du contrôleur 'CommandeController' pour traiter la création d'une nouvelle commande via une requête POST.
Questions à Choix Multiple
Évaluez votre compréhension avec cette question :
Quelle syntaxe est utilisée pour associer une route à une méthode d'un contrôleur dans Laravel?
- A. `Route::controller`
- B. `Route::connect`
- C. `[Contrôleur::class, 'méthode']`
Réponse correcte : C
Questions & Réponses
Consultez cette section pour trouver des réponses aux questions fréquemment posées sur l'utilisation des routes avec contrôleur dans Laravel.
Q: Comment passer des paramètres à une méthode de contrôleur dans une route?
R: Vous pouvez les inclure dans l'URI de la route et les capturer dans la méthode du contrôleur, par exemple, '/utilisateur/{id}'.
Éléments à Retenir
- Les contrôleurs regroupent la logique de traitement des requêtes dans des classes dédiées.
- Les routes peuvent être associées à des méthodes de contrôleurs en utilisant la syntaxe `[Contrôleur::class, 'méthode']`.
- L'utilisation de ressources simplifie la création de routes RESTful pour un contrôleur donné.
- Les paramètres peuvent être passés à une méthode de contrôleur via l'URI de la route.