我有一个基于注释的Action,它可以处理16条路线。我需要访问此操作的路由。我可以通过路由器的routeCollection访问,但它带来了所有系统的集合。计数是413.是否有任何优雅的方式只能访问这些路线?
更新: 我可以通过路由收集访问路由的示例代码。我可以将输出移动到缓存以供进一步使用。但我不喜欢这个解决方案。
protected function getRoutes()
{
$searchRoutes = [];
$router = $this->get('router');
$routeCollection = $router->getRouteCollection();
foreach ($routeCollection->all() as $name => $route) {
$route = $route->compile();
if(strpos($name, "newsearch_") !== false) {
$searchRoutes[$name] = $route->getVariables();
}
}
return $searchRoutes;
}