routeProviders = $route_providers; } /** * {@inheritdoc} */ public function getRoutesByPattern($pattern) { $collection = new RouteCollection(); foreach ($this->routeProviders as $provider) { $collection->addCollection($provider->getRoutesByPattern($pattern)); } return $collection; } /** * {@inheritdoc} */ public function getAllRoutes() { $collection = new RouteCollection(); foreach ($this->routeProviders as $provider) { $collection->addCollection(new RouteCollection($provider->getAllRoutes())); } return $collection; } /** * {@inheritdoc} */ public function reset() { foreach ($this->routeProviders as $provider) { $provider->reset(); } } /** * {@inheritdoc} */ public function getRouteCollectionForRequest(Request $request) { $collection = new RouteCollection(); foreach ($this->routeProviders as $provider) { $collection->addCollection($provider->getRouteCollectionForRequest($request)); } return $collection; } /** * {@inheritdoc} */ public function getRouteByName($name) { foreach ($this->routeProviders as $provider) { try { $route = $provider->getRouteByName($name); return $route; } catch (RouteNotFoundException $e) { continue; } } throw new RouteNotFoundException(); } /** * {@inheritdoc} */ public function getRoutesByNames($names) { $routes = []; foreach ($this->routeProviders as $provider) { $routes += $provider->getRoutesByNames($names); $names = array_diff($names, array_keys($routes)); } return $routes; } }