2016-07-28 98 views
0

所以在我的routes.php文件我有类似的路线名称

Route::group(['namespace' => 'Cp', 'prefix' => 'cp'], function() 
{ 
    Route::get('/shop' , '[email protected]')->name('shop_index'); 
}); 

Route::get('/shop' , '[email protected]')->name('shop_index'); 

基本上2类似的地址1在CP命名空间和目录管理区等,为客户

所以在我的管理viwe当我想链接到这个网页,我有

<A href="{{route('shop_index')}}"> shop </A> 

这是行不通的becuz我有相同名称的2条不同的路线,所以我不得不改变名称的一个类似shop_index_cp

有无论如何以某种方式在那里使用命名空间,并避免这种情况?像

<A href="{{route('Cp\shop_index')}}"> shop </A> 

回答

0

命名空间属性只能告诉路由器什么是控制器的基础命名空间。它不会影响路线名称或您可以引用它们的方式。没有办法使用名称空间来引用相似的路由 - 只使用确切的名称,所以使名称唯一是唯一的方法去

0

您不明白命名空间的用途,它对路由名称没有任何影响,并且路由名称必须是唯一的,即使它在单独的路由组中定义,命名空间也是如果您将控制器分隔到像CP\ShopController, CP\UserController等文件夹..在这种情况下
可以定义为一组命名空间CP,所以可以直接参考控制器功能作为Route::get('/shop' , '[email protected]')代替参照它的作为Route::get('/shop' , 'CP\[email protected]')