diff --git a/core/lib/Drupal/Core/Routing/Router.php b/core/lib/Drupal/Core/Routing/Router.php index cb1505761b..373c368764 100644 --- a/core/lib/Drupal/Core/Routing/Router.php +++ b/core/lib/Drupal/Core/Routing/Router.php @@ -105,7 +105,7 @@ public function addRouteFilter(RouteFilterInterface $route_filter) { * The route enhancer. */ public function addRouteEnhancer(RouteEnhancerInterface $route_enhancer) { - $this->enhancers = $route_enhancer; + $this->enhancers[] = $route_enhancer; } /** @@ -253,9 +253,8 @@ protected function getInitialRouteCollection(Request $request) { * from route enhancers. */ protected function applyRouteEnhancers($defaults, Request $request) { - /** @var \Drupal\Core\Routing\Enhancer\RouteEnhancerInterface[] $enhancers */ foreach ($this->enhancers as $enhancer) { - if ($enhancer->applies($defaults[RouteObjectInterface::ROUTE_OBJECT])) { + if (!$enhancer instanceof RouteEnhancerInterface || $enhancer->applies($defaults[RouteObjectInterface::ROUTE_OBJECT])) { $defaults = $enhancer->enhance($defaults, $request); } }