在Laravel v4中,我可以使用…
Route::currentRouteName()
我如何在Laravel v5和Laravel v6中做到这一点?
在Laravel v4中,我可以使用…
Route::currentRouteName()
我如何在Laravel v5和Laravel v6中做到这一点?
当前回答
有很多方法可以做到这一点。你可以输入:
\Illuminate\Support\Facades\Request::route()->getName()
获取路由名称。
其他回答
您要做的第一件事是在类的顶部导入命名空间。
use Illuminate\Support\Facades\Route;
拉拉维尔V8
$route = Route::current(); // Illuminate\Routing\Route
$name = Route::currentRouteName(); // RouteName
$action = Route::currentRouteAction(); // Action
Laravel v7、6和5.8
$route = Route::current();
$name = Route::currentRouteName();
$action = Route::currentRouteAction();
如果你想在多条路线上选择菜单,你可以这样做:
<li class="{{ (Request::is('products/*') || Request::is('products') || Request::is('product/*') ? 'active' : '') }}"><a href="{{url('products')}}"><i class="fa fa-code-fork"></i> Products</a></li>
或者如果你想只选择一个菜单,你可以简单地这样做:
<li class="{{ (Request::is('/users') ? 'active' : '') }}"><a href="{{url('/')}}"><i class="fa fa-envelope"></i> Users</a></li>
在Laravel 5.2中也进行了测试
希望这能帮助到一些人。
最短的方法是Route facade \路线::当前()- > getName ()
这也适用于laravel 5.4.*
使用幼虫助手和魔法方法
request()->route()->getName()
现在在Laravel 5.3中,我看到可以做出类似的尝试:
$route = Route::current();
$name = Route::currentRouteName();
$action = Route::currentRouteAction();
https://laravel.com/docs/5.3/routing#accessing-the-current-route