Maison  >  Article  >  cadre php  >  Qu'est-ce que le fichier de configuration de routage Laravel

Qu'est-ce que le fichier de configuration de routage Laravel

PHPz
PHPzoriginal
2023-04-21 11:21:54896parcourir

Qu'est-ce que le fichier de configuration de routage Laravel

Laravel est un framework de développement PHP populaire qui fournit un système de routage puissant capable de mapper les URL aux méthodes du contrôleur. Le système de routage de Laravel nous permet de créer facilement des API et des applications Web RESTful, et nous permet de gérer diverses requêtes HTTP (GET, POST, PUT, DELETE, etc.) de manière très simple. Dans Laravel, les routes sont composées d'une ou plusieurs définitions de routes groupées, qui peuvent également être regroupées en une route groupée. Cet article se concentrera sur les fichiers de configuration de routage Laravel.

Dans Laravel, les routes peuvent être définies directement dans le fichier de route ou à l'aide d'un fichier de configuration de route. Alors, qu’est-ce qu’un fichier de configuration de routage ? En termes simples, le fichier de configuration de routage Laravel est un fichier PHP qui définit le routage, qui contient des définitions de routage, des regroupements de routage et d'autres informations. Placer la définition de route dans le fichier de configuration nous permet de changer le routage de l'application en modifiant simplement le fichier de configuration sans modifier le code du contrôleur.

Le fichier de configuration de routage de Laravel est généralement enregistré dans le répertoire /routes, avec le nom de fichier web.php ou api.php, correspondant respectivement aux définitions de routage des applications Web et des applications API. Dans les deux fichiers, Laravel fournit des exemples de code que nous pouvons utiliser directement pour commencer à concevoir nos routes d'application. Par exemple, le fichier web.php contient un exemple de route :

Route::get('/', function () { 
    return view('welcome');
});

Cette route définit une requête GET qui renvoie une vue nommée "bienvenue" lorsque l'URL est "/". De même, des définitions d'exemples de routes sont fournies dans le fichier api.php. Par exemple :

Route::middleware('auth:api')->get('/user', function (Request $request) {
    return $request->user();
});

Cette route définit une requête GET Lorsque l'URL est "/user", le middleware "auth:api" doit être utilisé pour authentifier l'utilisateur et renvoyer les informations de l'utilisateur actuel.

Dans le fichier de configuration de routage de Laravel, nous pouvons utiliser des définitions de macros de routage pour simplifier le code de définition de routage. Les définitions de macros de routes nous permettent de créer des modèles de routes réutilisables et de les utiliser dans différentes routes. Par exemple, on peut définir une définition de macro appelée "dashboard" dans le fichier web.php :

Route::macro('dashboard', function () {
    Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard');
});

Ensuite, on peut utiliser cette définition de macro ailleurs dans l'application :

Route::middleware(['auth', 'verified'])->dashboard();

Cette route définit une requête GET, lorsque l'URL est "/dashboard" et est vérifié par les middlewares "auth" et "Verified", appelez la méthode d'index dans la classe DashboardController et nommez-la "dashboard".

Le fichier de configuration de routage de Laravel fournit également la fonction de groupes de routage. Le regroupement de routes nous permet de définir le même middleware, le même préfixe nommé, l'espace de noms et d'autres options pour un groupe de routes au sein d'un groupe de routage. Par exemple, dans le fichier web.php, nous pouvons créer un groupe de routage nommé "admin" :

Route::prefix('admin')->middleware(['auth'])->group(function () {
    Route::get('/', [AdminController::class, 'dashboard'])->name('admin.dashboard');
    Route::get('/users', [UserController::class, 'index'])->name('admin.users.index');
    Route::get('/users/{id}', [UserController::class, 'show'])->name('admin.users.show');
});

Ce groupe de routage définit un préfixe de chemin de routage "admin", qui doit utiliser le middleware "auth" pour authentifier l'utilisateur, puis définissez Il existe trois sous-itinéraires. Lorsque l'URL est "/admin", appelez la méthode du tableau de bord dans la classe AdminController et nommez-la "admin.dashboard" ; lorsque l'URL est "/admin/users", appelez la méthode d'index dans la classe UserController et nommez-la "admin". " .users.index" ; lorsque l'URL est "/admin/users/{id}", appelez la méthode show dans la classe UserController et nommez-la "admin.users.show".

Les groupes d'itinéraires peuvent également être imbriqués pour organiser les itinéraires de manière plus fine. Par exemple, nous pouvons créer un sous-groupe nommé « settings » dans le groupe de routage « admin » dans l'exemple ci-dessus :

Route::prefix('settings')->group(function () {
    Route::get('/', [SettingsController::class, 'index'])->name('admin.settings.index');
    Route::post('/', [SettingsController::class, 'update'])->name('admin.settings.update');
});

Ce sous-groupe définit un préfixe de chemin de routage « settings », puis définit deux sous-routes, une requête GET et un POST. request appelez respectivement les méthodes index et update dans la classe SettingsController et nommez-les « admin.settings.index » et « admin.settings.update ».

Résumé :

Le fichier de configuration de routage de Laravel est un fichier PHP qui définit le routage. Il est généralement enregistré dans le répertoire /routes et est nommé web.php ou api.php, ce qui correspond à la définition de routage des applications Web et des applications API. respectivement.

Dans le fichier de route, nous pouvons utiliser la définition de macro de route fournie par Laravel pour simplifier le code, et nous pouvons utiliser le regroupement de routes pour définir le même middleware, le même préfixe nommé, l'espace de noms et d'autres options pour un groupe de routes.

Les groupes d'itinéraires peuvent être imbriqués pour organiser les itinéraires de manière plus fine.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn