有没有办法计算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服务容器的新手或想了解有关此功能的更多信息,请参阅此处的文档。