我正在为我的项目使用laravel 5.4,我只想在我的刀片文件中获取路由命名空间或前缀。那么有可能获得路由组命名空间吗?
我的路线:
Route::group(['prefix'=>'organization','namespace'=>'Organization'], function(){
Route::get('team/{id}',['as'=>'info.team' , 'uses'=>'ManageTeamController@info']);
});
刀片文件:
{{dd(\Request::url())}}
我得到了这个:
"http://ocrm.dev/organization/team/8"
所以我只需要:
http://ocrm.dev/organization
有可能吗?
答案 0 :(得分:4)
您可以使用starts_with()
和currentRouteName()
检查路由名称是否从指定的命名空间字符串开始:
if (starts_with(Route::currentRouteName(), 'Organization.'))
如果要检查网址,请使用is()
方法:
if (request()->is('organization*'))
如果你想获得organization
的路由前缀,这里有@sandeep的位修改解决方案,但全局可用(所以你可以在视图,控制器,自定义类等中使用): / p>
request()->route()->getPrefix()
所以,要获取此网址:
http://ocrm.dev/organization
您可以使用url()
帮助器。该解决方案也可在全球范围内使用:
url(request()->route()->getPrefix())
答案 1 :(得分:2)
您可以使用前缀而不是命名空间,因为您的命名空间和前缀似乎相同。
$request->route()->getPrefix()