在Laravel v4中,我可以使用…
Route::currentRouteName()
我如何在Laravel v5和Laravel v6中做到这一点?
在Laravel v4中,我可以使用…
Route::currentRouteName()
我如何在Laravel v5和Laravel v6中做到这一点?
当前回答
您可以使用以下方法:
Route::getCurrentRoute()->getPath();
在Laravel版本> 6.0中,您可以使用以下方法:
$route = Route::current();
$name = Route::currentRouteName();
$action = Route::currentRouteAction();
其他回答
在Helper文件中,
您可以使用Route::current()->uri()来获取当前URL。
因此,如果你比较你的路由名在菜单上设置活动类,那么如果你使用
Route::currentRouteName()获取路由名并进行比较
你可以在模板中使用:
<?php $path = Route::getCurrentRoute()->getPath(); ?>
<?php if (starts_with($path, 'admin/')) echo "active"; ?>
如果你需要url,而不是路由名,你不需要使用/需要任何其他类:
url()->current();
解决方案:
$routeArray = app('request')->route()->getAction();
$controllerAction = class_basename($routeArray['controller']);
list($controller, $route) = explode('@', $controllerAction);
echo $route;
$request->route()->getName();