在Laravel v4中,我可以使用…

Route::currentRouteName()

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


当前回答

最短的方法是Route facade \路线::当前()- > getName ()

这也适用于laravel 5.4.*

其他回答

由于某些原因,我不能使用这些解决方案。所以我刚刚在web.php中声明了我的路由$router->get('/api/v1/users', ['as' => 'index', 'uses' => 'UserController@index']),在我的控制器中,我得到了路由的名称使用$routeName = $request->route()[1]['as'];在UserController的索引方法中,哪个$request是\Illuminate\Http\ request $request类型暗示参数

使用Lumen 5.6。希望它能帮助到一些人。

这是我使用的,我不知道为什么没有人提到它,因为它对我来说非常好。

Route::getCurrentRoute()->uri ; // this returns a string like '/home'

所以我在master.blade.php文件中使用它:

...

@if ( Route::getCurrentRoute()->uri =='/dashbord' )
   @include('navbar')
@endif
...

witch really helped me re use the same views without duplicating code.

Laravel 5.2可以使用

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

它会给你当前的路由名。

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

url()->current();

你可以在模板中使用:

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