获取laravel 5中所有控制器和操作的列表

Dee*_*jay 7 php laravel laravel-5

我是laravel的新手,想要获取该控制器中所有控制器列表和操作列表.只是想知道是否有办法通过代码获取所有控制器列表以及所有方法?

谢谢,DJ

Bog*_*dan 16

通过如何解释您需要了解控制器操作,似乎操作已映射到路由,这意味着您可以使用路由获取映射控制器和操作的列表.以下代码将生成已注册的路由控制器操作的数组:

$controllers = [];

foreach (Route::getRoutes()->getRoutes() as $route)
{
    $action = $route->getAction();

    if (array_key_exists('controller', $action))
    {
        // You can also use explode('@', $action['controller']); here
        // to separate the class name from the method
        $controllers[] = $action['controller'];
    }
}
Run Code Online (Sandbox Code Playgroud)

这将忽略具有Closures映射的路由,您不需要这些路由.请注意,您可能需要过滤掉第三方软件包注册的路由中的任何匹配项.