Mercurial > hg > isophonics-drupal-site
diff vendor/symfony/routing/RouteCollectionBuilder.php @ 14:1fec387a4317
Update Drupal core to 8.5.2 via Composer
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:46:53 +0100 |
parents | 4c8ae668cc8c |
children | c2387f117808 |
line wrap: on
line diff
--- a/vendor/symfony/routing/RouteCollectionBuilder.php Mon Apr 23 09:33:26 2018 +0100 +++ b/vendor/symfony/routing/RouteCollectionBuilder.php Mon Apr 23 09:46:53 2018 +0100 @@ -38,9 +38,6 @@ private $methods; private $resources = array(); - /** - * @param LoaderInterface $loader - */ public function __construct(LoaderInterface $loader = null) { $this->loader = $loader; @@ -61,17 +58,24 @@ */ public function import($resource, $prefix = '/', $type = null) { - /** @var RouteCollection $collection */ - $collection = $this->load($resource, $type); + /** @var RouteCollection[] $collection */ + $collections = $this->load($resource, $type); // create a builder from the RouteCollection $builder = $this->createBuilder(); - foreach ($collection->all() as $name => $route) { - $builder->addRoute($route, $name); - } - foreach ($collection->getResources() as $resource) { - $builder->addResource($resource); + foreach ($collections as $collection) { + if (null === $collection) { + continue; + } + + foreach ($collection->all() as $name => $route) { + $builder->addRoute($route, $name); + } + + foreach ($collection->getResources() as $resource) { + $builder->addResource($resource); + } } // mount into this builder @@ -201,7 +205,7 @@ } /** - * Sets an opiton that will be added to all embedded routes (unless that + * Sets an option that will be added to all embedded routes (unless that * option is already set). * * @param string $key @@ -311,10 +315,10 @@ $routeCollection->addCollection($subCollection); } + } - foreach ($this->resources as $resource) { - $routeCollection->addResource($resource); - } + foreach ($this->resources as $resource) { + $routeCollection->addResource($resource); } return $routeCollection; @@ -345,7 +349,7 @@ * @param mixed $resource A resource * @param string|null $type The resource type or null if unknown * - * @return RouteCollection + * @return RouteCollection[] * * @throws FileLoaderLoadException If no loader is found */ @@ -356,17 +360,21 @@ } if ($this->loader->supports($resource, $type)) { - return $this->loader->load($resource, $type); + $collections = $this->loader->load($resource, $type); + + return is_array($collections) ? $collections : array($collections); } if (null === $resolver = $this->loader->getResolver()) { - throw new FileLoaderLoadException($resource); + throw new FileLoaderLoadException($resource, null, null, null, $type); } if (false === $loader = $resolver->resolve($resource, $type)) { - throw new FileLoaderLoadException($resource); + throw new FileLoaderLoadException($resource, null, null, null, $type); } - return $loader->load($resource, $type); + $collections = $loader->load($resource, $type); + + return is_array($collections) ? $collections : array($collections); } }