diff --git a/core/lib/Drupal/Core/Routing/RouteCompiler.php b/core/lib/Drupal/Core/Routing/RouteCompiler.php index ad2f7b8..aa61f64 100644 --- a/core/lib/Drupal/Core/Routing/RouteCompiler.php +++ b/core/lib/Drupal/Core/Routing/RouteCompiler.php @@ -47,10 +47,12 @@ public static function compile(Route $route) { // allows the RouteProvider to filter candidate routes more efficiently. $num_parts = count(explode('/', trim($route->getPath(), '/'))); - foreach ($route->getRequirements() as $requirement) { - if ($requirement == '.*' || $requirement == '.+') { - $num_parts = static::UNLIMITED_PARTS; - } + $unlimited_requirements = array_filter($route->getRequirements(), function ($it) { + return $it === '.*' || $it === '.+'; + }); + + if (count($unlimited_requirements) > 0) { + $num_parts = static::UNLIMITED_PARTS; } return new CompiledRoute(