protected ModuleRouteSubscriber::alterRoutes(RouteCollection $collection)
Alters existing routes for a specific collection.
Parameters
\Symfony\Component\Routing\RouteCollection $collection: The route collection for adding routes.
Overrides RouteSubscriberBase::alterRoutes
File
- core/lib/Drupal/Core/EventSubscriber/ModuleRouteSubscriber.php, line 34
Class
- ModuleRouteSubscriber
- A route subscriber to remove routes that depend on modules being enabled.
Namespace
Drupal\Core\EventSubscriber
Code
protected function alterRoutes(RouteCollection $collection) { foreach ($collection as $name => $route) { if ($route->hasRequirement('_module_dependencies')) { $modules = $route->getRequirement('_module_dependencies'); $explode_and = $this->explodeString($modules, '+'); if (count($explode_and) > 1) { foreach ($explode_and as $module) { // If any moduleExists() call returns FALSE, remove the route and // move on to the next. if (!$this->moduleHandler->moduleExists($module)) { $collection->remove($name); continue 2; } } } else { // OR condition, exploding on ',' character. foreach ($this->explodeString($modules, ',') as $module) { if ($this->moduleHandler->moduleExists($module)) { continue 2; } } // If no modules are found, and we get this far, remove the route. $collection->remove($name); } } } }
Please login to continue.