Symfony2计算我们有多少路线

时间:2014-10-17 15:52:58

标签: symfony

有没有办法计算我们在Symfony2上有多少路线?
我可以使用此控制台命令获取生产环境中可用的路径列表:

$ app/console router:debug -e prod

但我想以编程方式计算它。

2 个答案:

答案 0 :(得分:1)

一种方法是使用路由器服务。 如果您在控制器内使用它,您可以通过以下方式获得计数:

$routesCount = $this->get('router')->getRouteCollection()->count()

但是如果你想在另一个地方进行计数,你应该使用服务容器(这是控制器为你做的)。 如果您不熟悉Symfony服务容器或想要了解有关此功能的更多信息,请参阅文档here

答案 1 :(得分:0)

好吧,您可以利用该命令并使用wc来计算路径

// Count the number of routes in the system
// Subtract the number of header lines (2) from the result
$numRoutes = (int) `php app/console router:debug -e prod | wc -l` - 2;

它有点笨重但它有效。如果你愿意的话,你可能会更复杂一点,把它放到你自己的Command中。