获取 Symfony 中控制器的路由列表?

Get list of routes of controller in Symfony?

我能够获取控制器的所有路由列表,正如@Qoop 在 中提到的那样(感谢他的分享)。

而且,在开发和生产环境中 运行 时,它会显示不同的配置路由。但是,我只想列出在开发环境中出现在生产环境中的路由。

如何从任何环境(开发或生产或测试)中仅列出为生产环境配置的那些路由?

是否可行,因为我们可以从控制台列出环境特定路由:

php app/console router:debug --env=prod

更新(改进问题):

我正在寻找一种在任何环境(开发、测试或生产)中从控制器列出生产环境路由的方法

我不明白你已经有了命令,它可以带 --env 选项,你可以将它用于 dev/prod 或测试

 php app/console router:debug --env=prod/test/dev

编辑2:

您可以使用您选择的环境创建您自己的 AppKernel,因为我知道您无法在当前内核上设置环境,这不会产生任何意义。 例如,实例化一个内核产品并从其容器中获取路由器服务。 有关实例化新环境的更多信息 http://symfony.com/fr/doc/current/cookbook/configuration/environments.html

    $kernel = new \AppKernel('prod', true);

    $kernel->boot();

    /** @var $router \Symfony\Component\Routing\Router */
    $router = $kernel->getContainer()->get('router');

    $router->setOption('debug', true);
    /** @var $collection \Symfony\Component\Routing\RouteCollection */
    $collection = $router->getRouteCollection();
    $allRoutes = $collection->all();