有沒有一種方法可以統計我們在Symfony2上有多少路線?
我可以列表與此控制檯命令在生產環境中可用的路線:Symfony2統計我們有多少路線
$ app/console router:debug -e prod
但我希望通過編程指望它。
有沒有一種方法可以統計我們在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;
這是一個有點笨拙,但它的工作原理。如果你想要的話,你可能會更復雜一些,並把它放到你自己的Command中。
一種方法是使用路由器服務。 如果您正在使用這個控制器內就可以得到數以:
$routesCount = $this->get('router')->getRouteCollection()->count()
但是如果你想在另一個地方的計數,你應該使用服務容器(這就是控制器爲你做)。 如果您對Symfony服務容器不熟悉或想了解有關此功能的更多信息,請參閱文檔here。