在Laravel v4中,我可以使用…

Route::currentRouteName()

我如何在Laravel v5和Laravel v6中做到这一点?


当前回答

如果你需要url,而不是路由名,你不需要使用/需要任何其他类:

url()->current();

其他回答

您可以使用以下方法:

Route::getCurrentRoute()->getPath();

在Laravel版本> 6.0中,您可以使用以下方法:

$route = Route::current();

$name = Route::currentRouteName();

$action = Route::currentRouteAction();

你可以在模板中使用:

<?php $path = Route::getCurrentRoute()->getPath(); ?>
<?php if (starts_with($path, 'admin/')) echo "active"; ?>

它不需要记忆任何东西,当你想请求某个变量时,通过dd(Request())可以评估哪个变量对你来说是突出的。 在下图中,它很清楚。

如果你想获取路径,显然,这段代码会显示

dd(request()->getpathInfo())

别忘了嵌入 使用说明\ Http \请求; 例如:

if(request()->getpathInfo()=="/logadmin"){
do somethings....
}

在控制器中访问当前路由名

Ie - http://localhost/your_project_name/edit

$request->segment(1);  // edit

(或)

$request->url();  // http://localhost/your_project_name/edit

在我看来,最简单的解决方案是使用这个助手:

request()->route()->getName()

有关文档,请参见这个链接