public function RouteProvider::getRoutesByNames in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/lib/Drupal/Core/Routing/RouteProvider.php \Drupal\Core\Routing\RouteProvider::getRoutesByNames()
Find many routes by their names using the provided list of names.
Note that this method may not throw an exception if some of the routes are not found or are not actually Route instances. It will just return the list of those Route instances it found.
This method exists in order to allow performance optimizations. The simple implementation could be to just repeatedly call $this->getRouteByName() while catching and ignoring eventual exceptions.
If $names is null, this method SHOULD return a collection of all routes known to this provider. If there are many routes to be expected, usage of a lazy loading collection is recommended. A provider MAY only return a subset of routes to e.g. support paging or other concepts, but be aware that the DynamicRouter will only call this method once per DynamicRouter::getRouteCollection() call.
Parameters
array|null $names The list of names to retrieve, In case of null,: the provider will determine what routes to return.
Return value
Route[] Iterable list with the keys being the names from the $names array.
Overrides RouteProviderInterface::getRoutesByNames
1 call to RouteProvider::getRoutesByNames()
- RouteProvider::getRouteByName in core/
lib/ Drupal/ Core/ Routing/ RouteProvider.php - Find the route using the provided route name (and parameters).
File
- core/
lib/ Drupal/ Core/ Routing/ RouteProvider.php, line 226 - Contains \Drupal\Core\Routing\RouteProvider.
Class
- RouteProvider
- A Route Provider front-end for all Drupal-stored routes.
Namespace
Drupal\Core\RoutingCode
public function getRoutesByNames($names) {
$this
->preLoadRoutes($names);
foreach ($names as $name) {
// The specified route name might not exist or might be serialized.
if (!isset($this->routes[$name]) && isset($this->serializedRoutes[$name])) {
$this->routes[$name] = unserialize($this->serializedRoutes[$name]);
unset($this->serializedRoutes[$name]);
}
}
return array_intersect_key($this->routes, array_flip($names));
}