“作为”方法在Laravel中有什么作用

时间:2019-08-21 10:19:45

标签: laravel

在本教程的示例中,它显示了。

Route::group([
    'prefix' => 'admin',                        
    'as' => 'admin.'                            
], function () {}

有人可以告诉我“按原样”做什么吗?另外,“管理员”旁边的圆点是否必要? 谢谢。

3 个答案:

答案 0 :(得分:5)

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

Route::get('admin', [
    'as' => 'admin', 'uses' => 'AdminController@index'
]);

通过使用 as 为路由分配自定义名称。所以现在,Laravel将允许您使用以下方法引用上述路线:

$route = route('admin');

因此,您不必在代码中一遍又一遍地手动构建URL。如果只想呼叫路线.,则实际上并不需要admin表示法。如果您想要更详细的路线名称,请说出ex。 admin product route,然后使用.表示法,如下所示:

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官方documentation中了解有关此内容的更多信息。

答案 1 :(得分:1)

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

  

例如

Route::group(['as' => 'admin::'], function () {

    // Route named "admin::"
});
  

UseRoute名称​​ like {{route(admin ::)}} route('admin ::')

答案 2 :(得分:0)

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

Route :: group(['prefix'=>'admin','middleware'=> ['auth','roles'],'roles'=> ['2']],函数(){< / p>

RatingModel

});