Laravel 什么是';as';拉维法

Laravel 什么是';as';拉维法,laravel,Laravel,在本教程的示例中,它将显示 Route::group([ 'prefix' => 'admin', 'as' => 'admin.' ], function () {} 有人能告诉我“as”是干什么的吗?此外,是否需要“admin”旁边的点? 谢谢。例如,假设您有以下路线: Route::get('admin', [ 'as' => 'admin',

在本教程的示例中,它将显示

Route::group([
    'prefix' => 'admin',                        
    'as' => 'admin.'                            
], function () {}
有人能告诉我“as”是干什么的吗?此外,是否需要“admin”旁边的点?
谢谢。

例如,假设您有以下路线:

Route::get('admin', [
    'as' => 'admin', 'uses' => 'AdminController@index'
]);
使用as为路线指定自定义名称。现在,Laravel将允许您通过以下方式参考上述路线:

$route = route('admin');
因此,您不必在代码中反复手动构建URL。如果您只想调用路由
管理员
,则不需要使用
符号。如果您想要更详细的路线名称,比如说,例如
管理产品路线
,那么您可以使用
符号,如下所示:

Route::get('admin/product', [
    'as' => 'admin.product', 'uses' => 'AdminController@showProduct'
]);
现在,您可以通过指定的名称调用此路由:

$route = route('admin.product');
更新:

我前面提供的答案适用于单一路线。对于路线组,程序非常类似。在路线组中,添加自定义名称时需要使用
符号,因为在该
符号之后将引用另一条路线。这将允许您为组内的所有管线设置公用管线名称前缀。因此,通过您的示例,假设您在管理路由组中有一个仪表板路由:

Route::group(['as' => 'admin.'], function () {
    Route::get('dashboard', ['as' => 'dashboard', function () {
        //Some logic
    }]);
});
现在,您可以按如下方式调用仪表板路线:

$route =  route(admin.dashboard);

您可以在Laravel official中了解更多信息。

您可以在路由组属性数组中指定as关键字,以便为组内的所有路由设置通用路由名称前缀

比如说

用户路由名称,如{{route(admin::)}}路由('admin::')


您可以使用“as”作为命名路由。如果不在组路由中为路由名称加前缀,则可以像这样添加自定义路由名称

路由::组(['prefix'=>'admin','middleware'=>['auth','roles'],'roles'=>['2']],函数(){


}))

只是补充一下,这是非常有用的,因为如果您想更改路由的URL,您只需更新路由文件而不是代码(因为它将使用命名路由)。
admin.product
是路由组的名称,而不是路由,因此您不能调用
route('admin.product')你完全正确。我刚意识到这是一个路线组。将更新我的答案。非常感谢。
Route::group(['as' => 'admin::'], function () {

    // Route named "admin::"
});
 Route::post('/changeProfile', ['uses' => 'UserController@changeProfile',
    'as' => 'changeProfile']);