diff --git a/core/lib/Drupal/Core/DependencyInjection/Compiler/RegisterLazyRouteFilters.php b/core/lib/Drupal/Core/DependencyInjection/Compiler/RegisterLazyRouteFilters.php index d77477921b..9044b40dea 100644 --- a/core/lib/Drupal/Core/DependencyInjection/Compiler/RegisterLazyRouteFilters.php +++ b/core/lib/Drupal/Core/DependencyInjection/Compiler/RegisterLazyRouteFilters.php @@ -19,14 +19,20 @@ public function process(ContainerBuilder $container) { } $service_ids = []; - - foreach ($container->findTaggedServiceIds('route_filter') as $id => $attributes) { - $service_ids[$id] = $id; + foreach ($container->findTaggedServiceIds('route_filter') as $id => $tags) { + foreach ($tags as $attribute) { + $service_ids[$id] = 0; + if (isset($attribute['priority'])) { + $service_ids[$id] = $attribute['priority']; + } + } } + arsort($service_ids); + $container ->getDefinition('route_filter.lazy_collector') - ->addArgument($service_ids); + ->addArgument(array_keys($service_ids)); } }