Symfony2计算我们有多少条路线



有没有办法计算Symfony2上有多少条路由
我可以通过以下控制台命令获得生产环境中可用的路线列表:

$ app/console router:debug -e prod

但我想用程序计算。

好吧,您可以利用该命令并使用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;

它有点笨重,但很管用。如果你愿意的话,你可以更老练一点,把它变成你自己的命令。

一种方法是使用路由器服务。如果你在控制器中使用这个,你可以通过获得计数

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

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

最新更新