Maison > cadre php > Laravel > À quoi sert le nom d'itinéraire de Laravel ?

À quoi sert le nom d'itinéraire de Laravel ?

青灯夜游
Libérer: 2022-02-23 18:06:25
original
3934 Les gens l'ont consulté

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.

À quoi sert le nom d'itinéraire de Laravel ?

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');
Copier après la connexion

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');
Copier après la connexion

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');
Copier après la connexion

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]);
Copier après la connexion

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);
}
Copier après la connexion

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');
});
Copier après la connexion

Nom de la route des ressources

Route::resource('users', 'UsersController');
Copier après la connexion

Préfixe de la route des ressources :

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');
Copier après la connexion
[Recommandations associées : Tutoriel vidéo laravel

]

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal