问答中心分类: LARAVELLaravel:如何获取当前路线名称? (v5 … v7)
0
匿名用户 提问 1周 前

在 Laravel v4 中,我能够使用…获取当前路线名称

Route::currentRouteName()

我该怎么做Laravel v5Laravel v6?

Md Rashedul Hoque Bhuiyan 回复 1周 前

我应该使用哪个命名空间来查找路由名称?我使用了 Illuminate\Support\Facades\Route 但结果为空。

Md Rashedul Hoque Bhuiyan 回复 1周 前

那是正确的类。您的路线可能没有指定名称。请注意,路由名称和 URI 是不一样的。

Md Rashedul Hoque Bhuiyan 回复 1周 前

你为什么需要它?

29 Answers
0
loranger 回答 1周 前

使用 Laravel 5.1,您可以使用

\Request::route()->getName()
bonbon.langes 回复 1周 前

当你把它放在视图上时,这也有效{{ route(\Request::route()->getName()) }}.非常感谢!

0
Md Rashedul Hoque Bhuiyan 回答 1周 前

找到了一种方法来查找适用于 laravel 的当前路线名称v5,v5.1.28v5.2.10
命名空间

use Illuminate\Support\Facades\Route;

$currentPath= Route::getFacadeRoot()->current()->uri();

对于 Laravelv5.3你可以使用:

use Illuminate\Support\Facades\Route;

Route::currentRouteName();
Amir Asyraf 回复 1周 前

@Jonathan我相信最好使用完整的命名空间以避免任何潜在的冲突。

Kamlesh 回复 1周 前

对 laravel 8 有什么建议吗?

0
Webistan 回答 1周 前

如果您想在多条路线上选择菜单,您可以这样做:

<li class="{{ (Request::is('products/*') || Request::is('products') || Request::is('product/*') ? 'active' : '') }}"><a href="{{url('products')}}"><i class="fa fa-code-fork"></i>&nbsp; Products</a></li>

或者,如果您只想选择单个菜单,您可以这样做:

<li class="{{ (Request::is('/users') ? 'active' : '') }}"><a href="{{url('/')}}"><i class="fa fa-envelope"></i>&nbsp; Users</a></li>

也在测试中拉拉维尔 5.2
希望这对某人有所帮助。

Renato Liibke 回复 1周 前

也在 Laravel 5.3 中测试过

aspirinemaga 回复 1周 前

也在 Laravel 7.5.2 中测试过

Tariqul Islam 回复 1周 前

在 Laravel 5.7 中测试

0
Fusion 回答 1周 前

如果你需要url, 不是路线名称,您不需要使用/要求任何其他类:

url()->current();
thelogix 回复 1周 前

这将返回错误:“调用非对象上的成员函数 current()”。 url() 返回一个字符串,而不是一个对象,所以我认为这不可能奏效。也许您正在考虑其他方法或对象,而不是 url()?

Fusion 回复 1周 前

不,我每天都用这个。查看官方文档

thelogix 回复 1周 前

我懂了。这仅适用于5.2 或更高版本.但它相当不错。

0
Jalvin Vohra 回答 1周 前

Laravel 5.2 你可以使用

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

它会给你当前的路线名称。

Aron Rotteveel 回复 1周 前

这实际上是不正确的。这name()方法将添加或更改名称,而getName()方法返回它。