在阅读laravel文档中发现从5.4开始的文档中,在介绍命名路由部分,只介绍了,在路由定义之后使用 name 方法链的方式来定义该路由的名称。但是在实际操作中其实还可以使用as方法链进行定义,此方法在5.3及以前的文档中有介绍,并且在资源路由中使用此方法链更方便定义别名。如:
命名路由为生成 URL 或重定向提供了便利。实现也很简单,在定义路由时使用数组键 as
指定路由名称:
Route::get('user/profile', ['as' => 'profile', function () {
//
}]);
此外,还可以为控制器动作指定路由名称:
Route::get('user/profile', [
'as' => 'profile', 'uses' => 'UserController@showProfile'
]);
此外,除了在路由数组定义中指定路由名称外,还可以通过在路由定义之后使用
name
方法链的方式来实现:
Route::get('user/profile', 'UserController@showProfile')->name('profile');
路由群组 & 命名路由
如果你在使用路由群组,可以通过在路由群组的属性数组中指定 as
关键字来为群组中的路由设置一个共用的路由名前缀:
Route::group(['as' => 'admin::'], function () {
Route::get('dashboard', ['as' => 'dashboard', function () {
// 路由被命名为 "admin::dashboard"
}]);
});