Laravel:如何获取当前路线名称?(v5 ...v7)

在Laravel v4中,我能够使用...

Route::currentRouteName()

如何在Laravel v5Laravel v6中执行此操作?


答案 1

试试这个

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

\Request::route()->getName()

从 v5.1 开始

use Illuminate\Support\Facades\Route;
$currentPath= Route::getFacadeRoot()->current()->uri();

拉拉维尔 v5.2

Route::currentRouteName(); //use Illuminate\Support\Facades\Route;

或者,如果您需要操作名称

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

Laravel 5.2 路线文档

检索请求 URI

path 方法返回请求的 URI。因此,如果传入的请求是 针对 的,则 path 方法将返回:http://example.com/foo/barfoo/bar

$uri = $request->path();

该方法允许您验证传入请求 URI 是否与给定模式匹配。使用此方法时,可以使用该字符作为通配符:is*

if ($request->is('admin/*')) {
    //
}

要获取完整的 URL,而不仅仅是路径信息,您可以在请求实例上使用 url 方法:

$url = $request->url();

拉拉维尔 v5.3 ...5.8 版

$route = Route::current();

$name = Route::currentRouteName();

$action = Route::currentRouteAction();

Laravel 5.3 路由文档

拉拉维尔 v6.x...7.x

$route = Route::current();

$name = Route::currentRouteName();

$action = Route::currentRouteAction();

** 截至 2019 年 11 月 11 日的最新版本 - 版本 6.5 **

Laravel 6.x 路由文档

有一个选项可以使用请求来获取路由

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

答案 2

使用Laravel 5.1,您可以使用

\Request::route()->getName()

推荐