2016-02-01 82 views
1

我需要以编程方式获取所有路径的路径列表。Laravel 5:如何获得所有路线的路径?

我试过Route::getRoutes() - 不能在L5中工作。 RouteCollection::getRoutes() - 不是一种静态方法。

我打赌我可以从$request得到RouteCollection,但我不知道如何。

回答

1

Route::getRoutes();应该工作,你可能忘记导入路线类(立面)。然后迭代列表:

$routeList = Route::getRoutes(); 

foreach ($routeList as $value) 
{ 
    echo $value->getPath(); 
} 

Remeber导入

use Illuminate\Support\Facades\Route; 

这是Laravel 5.2

Documenation

+0

这工作!谢谢。我没有包含“use”语句,所以似乎使用了另一个Route类。 – koem

+0

嘿它不适用laravel 5.4,我使用什么代码。 –

+1

@nikeshadhikari看5.4码头,它仍然存在https://laravel.com/api/5.4/Illuminate/Routing/RouteCollection.html –

1

首先

use Illuminate\Support\Facades\Route; 

对于所有测试吧的TES使用此代码

$routeList=Route::getRoutes(); 
    foreach ($routeList as $value) { 
     echo $value->getPath(); 
    } 

对于当前的路线名称使用此代码

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

详细信息,请阅读此两个职位, All Routes

Current Route