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

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

青灯夜游
青灯夜游original
2022-02-23 18:06:253884parcourir

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');

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');

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');
[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!

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