Laravel 4:获取所有注册路线

时间:2013-12-04 09:09:44

标签: php laravel laravel-4

我创建了帮助类

    namespace Services\Menu;

    class Item extends AbstactItem {

       public function add($url, $value, $attr, $params) {
            $routes = \Route::getRoutes(); //return always empty
       }

    }  

如何在班上获得所有注册路线?

2 个答案:

答案 0 :(得分:4)

您可以在终端中运行简单的artisan命令来查看所有已注册的路线:

$ php artisan routes

答案 1 :(得分:2)

假设这对我来说很合适:

Route::get('/test', function()
{
    dd( Route::getRoutes() );
});

这也是

Route::get('routes', array('uses'=>'RoutesController@routes'));

class RoutesController extends BaseController {

    public function routes()
    {
        dd( Route::getRoutes() );
    }

}

我知道这是你的问题。例如,由于您没有收到任何错误,因此可以在构建路由之前运行此错误。

修改

由于我真的不知道发生了什么,我正在做测试,看看我是否可以按照它最终的方式行事。

这个也在这里工作:

Route::get('/test', function() {

    $r = new APP\MyRoutes();

    $r->routes();

});

和班级

<?php namespace APP;

class MyRoutes {

    public function routes()
    {
        dd( \Route::getRoutes() );
    }

}

我还将它添加到我的composer.json的psr-0部分:

"psr-0": {
    "APP": "app/controllers"
}

类文件位于'app / controllers / APP / MyController.php'。