在Laravel v4中,我可以使用…
Route::currentRouteName()
我如何在Laravel v5和Laravel v6中做到这一点?
在Laravel v4中,我可以使用…
Route::currentRouteName()
我如何在Laravel v5和Laravel v6中做到这一点?
当前回答
在5.2中,你可以直接使用请求:
$request->route()->getName();
或者通过helper方法:
request()->route()->getName();
输出的例子:
"home.index"
其他回答
在larvel 5.3中,我用它来获取路由名
要求::路径()
如果你需要url,而不是路由名,你不需要使用/需要任何其他类:
url()->current();
你可以在模板中使用:
<?php $path = Route::getCurrentRoute()->getPath(); ?>
<?php if (starts_with($path, 'admin/')) echo "active"; ?>
访问当前路由(v5.3起)
你可以在Route虚包上使用current, currentRouteName和currentRouteAction方法来访问处理传入请求的路由信息:
$route = Route::current();
$name = Route::currentRouteName();
$action = Route::currentRouteAction();
参考Route虚包和Route实例的底层类的API文档,查看所有可访问的方法。
参考资料:https://laravel.com/docs/5.2/routing#accessing-the-current-route
在我看来,最简单的解决方案是使用这个助手:
request()->route()->getName()
有关文档,请参见这个链接