在视图中获取路线名称 [英] get Route name in View
问题描述
我试图设计导航菜单,
我有3个这样的项目:
I trying to design navigation menu, I have 3 Items like this:
- 仪表板
- 页面
- 列表
- 添加
- 列表
- 添加
现在,我想在用户位于此部分时加粗
页面
Now I want to bold
Pages
when user is in this section,,如果在
添加
页面中,我想同时加粗Pages
和添加
and if is in
Add
page I want bold bothPages
andAdd
我的
routes.php
是:Route::group(array('prefix' => 'admin', 'before' => 'auth.admin'), function() { Route::any('/', 'App\Controllers\Admin\PagesController@index'); Route::resource('articles', 'App\Controllers\Admin\ArticlesController'); Route::resource('pages', 'App\Controllers\Admin\PagesController'); });
我发现了这种方法:
$name = \Route::currentRouteName(); var_dump($name);
但是此方法返回
string'admin.pages.index'(length = 17)
我应该使用
splite
来获取控制器还是Laravel有一种方法这个?Should I use
splite
to get controller or Laravel have a method for this ?推荐答案
您可以使用它(获取当前操作,即
HomeController @ index
)You may use this (to get current action, i.e.
HomeController@index
)Route::currentRouteAction();
这将返回
操作
,如HomeController @ index
,您可以在视图中使用类似的东西This will return
action
likeHomeController@index
and you can use something like this in your view<!-- echo the controller name as 'HomeController' --> {{ dd(substr(Route::currentRouteAction(), 0, (strpos(Route::currentRouteAction(), '@') -1) )) }} <!-- echo the method name as 'index' --> {{ dd(substr(Route::currentRouteAction(), (strpos(Route::currentRouteAction(), '@') + 1) )) }}
Route :: currentRouteName()
方法返回用作<$的路由名称c $ c>'as'=>路径声明中的 routename 。这篇关于在视图中获取路线名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!