在Laravel v4中,我可以使用…

Route::currentRouteName()

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


当前回答

由于某些原因,我不能使用这些解决方案。所以我刚刚在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。希望它能帮助到一些人。

其他回答

由于某些原因,我不能使用这些解决方案。所以我刚刚在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。希望它能帮助到一些人。

在Helper文件中,

您可以使用Route::current()->uri()来获取当前URL。

因此,如果你比较你的路由名在菜单上设置活动类,那么如果你使用

Route::currentRouteName()获取路由名并进行比较

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

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 v5, v5.1.28和v5.2.10

名称空间

use Illuminate\Support\Facades\Route;

and

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

对于Laravel Laravel v5.3,你可以使用:

use Illuminate\Support\Facades\Route;

Route::currentRouteName();

试试这个

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

or

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

从v5.1

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

与 Laravel v5.2 相关:

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

或者如果你需要动作名

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

Laravel 5.2路由文档

获取请求URI

path方法返回请求的URI。因此,如果传入请求的目标是http://example.com/foo/bar, path方法将返回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来获取路由

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