Symfony 4 打印所有路线
Symfony 4 print all routes
我正在尝试设置一个索引页面,它将打印出 API 中的所有端点(使用 Symfony 4)。
在 Symfony 2 中,您可以获得路由器并通过容器然后收集路由。但是在 Symfony 4 中,您似乎无法直接访问容器。
Google 搜索似乎没有产生我正在寻找的精确结果。在 Symfony 4 或类似软件中是否有替代方法?
在任何控制器中使用,这将return你一个可用的路由对象数组。
$router = $this->get('router');
$routes = $router->getRouteCollection()->all();
所以我把这些碎片放在一起:
最简单的方法似乎是注入 Symfony\Component\Routing\RouterInterface
,然后将其用作 Router
。正如我在问题中提到的,您可以使用 $router->getRouteCollection()->all()
获取路由,其中 $router
是注入的依赖项。
例如:
use Symfony\Component\Routing\RouterInterface;
public function someMethodInController(Request $request, RouterInterface $router)
{
$routes = $router->getRouteCollection()->all();
// ...
}
我正在尝试设置一个索引页面,它将打印出 API 中的所有端点(使用 Symfony 4)。
在 Symfony 2 中,您可以获得路由器并通过容器然后收集路由。但是在 Symfony 4 中,您似乎无法直接访问容器。
Google 搜索似乎没有产生我正在寻找的精确结果。在 Symfony 4 或类似软件中是否有替代方法?
在任何控制器中使用,这将return你一个可用的路由对象数组。
$router = $this->get('router');
$routes = $router->getRouteCollection()->all();
所以我把这些碎片放在一起:
最简单的方法似乎是注入 Symfony\Component\Routing\RouterInterface
,然后将其用作 Router
。正如我在问题中提到的,您可以使用 $router->getRouteCollection()->all()
获取路由,其中 $router
是注入的依赖项。
例如:
use Symfony\Component\Routing\RouterInterface;
public function someMethodInController(Request $request, RouterInterface $router)
{
$routes = $router->getRouteCollection()->all();
// ...
}