get Route name in View
controller, laravel, php, view
Solution
You may use this (to get current action, i.e. `HomeController@index`)
Route::currentRouteAction();
This will return `action` like `HomeController@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) )) }}
The `Route::currentRouteName()` method returns the name of your route that is used as `'as' => 'routename'` in your route declaration.
Problem
I trying to design navigation menu, I have 3 Items like this: - Dashboard - Pages - List - Add - Articles - List - Add Now I want to bold `Pages` when user is in this section, and if is in `Add` page I want bold both `Pages` and `Add` my `routes.php` is : ``` 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'); }); ``` I found thid method : ``` $name = \Route::currentRouteName(); var_dump($name); ``` But this method return `string 'admin.pages.index' (length=17)` Should I use `splite` to get controller or Laravel have a method for this ?