Dans Laravel, le rôle de la dénomination des routes est de générer des routes pour faciliter la redirection ; la dénomination des routes permet à des routes spécifiques de générer facilement des URL ou des redirections. Les développeurs peuvent créer des liens vers des routes à l'aide de la méthode name pour définir le nom d'une route spécifique.
L'environnement d'exploitation de ce tutoriel : système Windows 7, version Laravel 6, ordinateur Dell G3.
nommage d'itinéraire de laravel
laravel Le rôle du nom d'itinéraire : générer des itinéraires pour faciliter la redirection.
La dénomination des itinéraires permet à des itinéraires spécifiques de générer facilement des URL ou des redirections. Vous pouvez définir le nom d'une route donnée en créant un lien vers celle-ci avec la méthode name :
Route::get('user/profile', function () { // })->name('profile');
Vous pouvez également spécifier un nom de route pour la méthode d'un contrôleur :
Route::get('user/profile', 'UserProfileController@show')->name('profile');
Générer une URL pointant vers une route nommée
Une fois attribué pour une route donnée Si le nom est spécifié, vous pouvez utiliser le nom de la route lors de la génération d'une URL ou de la redirection via la fonction de route globale :
// 生成 URL... $url = route('profile'); // 重定向... return redirect()->route('profile');
Si la route nommée définit des paramètres, vous pouvez transmettre les paramètres à la route fonctionner comme deuxième paramètre. Le paramètre donné sera automatiquement inséré dans l'URL à son emplacement correct :
Route::get('user/{id}/profile', function ($id) { // })->name('profile'); $url = route('profile', ['id' => 1]);
Vérifiez l'itinéraire actuel
Si vous souhaitez déterminer si la requête actuelle est acheminée vers un itinéraire nommé donné, vous pouvez utiliser sur le instance de route nommée méthode. Par exemple, vous pouvez vérifier le nom de la route actuelle dans le middleware de routage :
/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { if ($request->route()->named('profile')) { // } return $next($request); }
Préfixe du nom de la route
La méthode name peut être utilisée pour ajouter une chaîne donnée à chaque nom de route dans le groupe de routes. Par exemple, vous souhaiterez peut-être préfixer les noms de toutes les routes de groupe avec « admin ». La chaîne donnée est exactement la même que le préfixe du nom de la route spécifié, nous veillerons donc à fournir le caractère de fin . le code sera équivalent Dans :
Route::name('admin.')->group(function () { Route::get('users', function () { // 指定路由名为 "admin.users"... })->name('users'); });
Nom de la route des ressources Route::resource('users', 'UsersController');
Route::get('/users', 'UsersController@index')->name('users.index');
Route::get('/users/{user}', 'UsersController@show')->name('users.show');
Route::get('/users/create', 'UsersController@create')->name('users.create');
Route::post('/users', 'UsersController@store')->name('users.store');
Route::get('/users/{user}/edit', 'UsersController@edit')->name('users.edit');
Route::patch('/users/{user}', 'UsersController@update')->name('users.update');
Route::delete('/users/{user}', 'UsersController@destroy')->name('users.destroy');
[Recommandations associées :
]
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!