Esempio n. 1
0
 /**
  * {@inheritdoc}
  */
 public function getRouteCollectionForRequest(Request $request)
 {
     $collection = new RouteCollection();
     $candidates = $this->candidatesStrategy->getCandidates($request);
     if (0 === count($candidates)) {
         return $collection;
     }
     $routes = $this->routeManager->findVisibleByRoutePatterns($candidates);
     foreach ($routes as $route) {
         $collection->add($route->getName(), $route);
     }
     return $collection;
 }
Esempio n. 2
0
 /**
  * {@inheritdoc}
  */
 public function findVisibleByRoutePatterns(array $routePatterns)
 {
     $result = array();
     foreach ($routePatterns as $routePattern) {
         foreach ($this->routes as $route) {
             if ($routePattern === $route->getRoutePattern() && $route->isVisible()) {
                 $result[$routePattern] = $route;
             }
         }
     }
     $diffRoutePatterns = array_diff($routePatterns, array_keys($result));
     return array_merge(array_values($result), $this->routeManager->findVisibleByRoutePatterns($diffRoutePatterns));
 }