Laravel:如何获取当前路由名称?(v5 ... v7) [英] Laravel: How to Get Current Route Name? (v5 ... v7)

查看:160
本文介绍了Laravel:如何获取当前路由名称?(v5 ... v7)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Route::currentRouteName()

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

解决方案

试试这个

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

Request::route()->getName()

来自 v5.1

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

Laravel v5.2

Route::currentRouteName();//使用 IlluminateSupportFacadesRoute;

或者如果你需要动作名称

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

Laravel 5.2 路由文档

检索请求 URI

path 方法返回请求的 URI.因此,如果传入请求的目标是 http://example.com/foo/bar,则路径方法将返回 foo/bar:

$uri = $request->path();

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

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

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

$url = $request->url();

Laravel v5.3 ... v5.8

$route = Route::current();$name = Route::currentRouteName();$action = Route::currentRouteAction();

Laravel 5.3 路由文档

Laravel v6.x...7.x

$route = Route::current();$name = Route::currentRouteName();$action = Route::currentRouteAction();

** 截至 2019 年 11 月 11 日的当前版本 - 版本 6.5 **

Laravel 6.x 路由文档

可以选择使用请求获取路由

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

In Laravel v4 I was able to get the current route name using...

Route::currentRouteName()

How can I do it in Laravel v5 and Laravel v6?

解决方案

Try this

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

or

Request::route()->getName()

from v5.1

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

Laravel v5.2

Route::currentRouteName(); //use IlluminateSupportFacadesRoute;

Or if you need the action name

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

Laravel 5.2 route documentation

Retrieving The Request URI

The path method returns the request's URI. So, if the incoming request is targeted at http://example.com/foo/bar, the path method will return foo/bar:

$uri = $request->path();

The is method allows you to verify that the incoming request URI matches a given pattern. You may use the * character as a wildcard when utilizing this method:

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

To get the full URL, not just the path info, you may use the url method on the request instance:

$url = $request->url();

Laravel v5.3 ... v5.8

$route = Route::current();

$name = Route::currentRouteName();

$action = Route::currentRouteAction();

Laravel 5.3 route documentation

Laravel v6.x...7.x

$route = Route::current();

$name = Route::currentRouteName();

$action = Route::currentRouteAction();

** Current as of Nov 11th 2019 - version 6.5 **

Laravel 6.x route documentation

There is an option to use request to get route

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

这篇关于Laravel:如何获取当前路由名称?(v5 ... v7)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆