diff --git a/src/Symfony/Component/Routing/Loader/Configurator/ImportConfigurator.php b/src/Symfony/Component/Routing/Loader/Configurator/ImportConfigurator.php index 9057c2a5d0..baacbe9592 100644 --- a/src/Symfony/Component/Routing/Loader/Configurator/ImportConfigurator.php +++ b/src/Symfony/Component/Routing/Loader/Configurator/ImportConfigurator.php @@ -40,8 +40,14 @@ class ImportConfigurator * * @return $this */ - final public function prefix($prefix) + final public function prefix($prefix, string $namePrefix = '') { + if ('' !== $namePrefix) { + $this->route->addNamePrefix($namePrefix); + } + if (!$prefix) { + return $this; + } if (!\is_array($prefix)) { $this->route->addPrefix($prefix); } else { diff --git a/src/Symfony/Component/Routing/Loader/Configurator/Traits/RouteTrait.php b/src/Symfony/Component/Routing/Loader/Configurator/Traits/RouteTrait.php index d3ced4d638..3613f25222 100644 --- a/src/Symfony/Component/Routing/Loader/Configurator/Traits/RouteTrait.php +++ b/src/Symfony/Component/Routing/Loader/Configurator/Traits/RouteTrait.php @@ -124,14 +124,4 @@ trait RouteTrait return $this; } - - /** - * Adds a prefix to the name of all the routes within the collection. - */ - final public function addNamePrefix(string $prefix): self - { - $this->route->addNamePrefix($prefix); - - return $this; - } } diff --git a/src/Symfony/Component/Routing/Tests/Fixtures/php_dsl.php b/src/Symfony/Component/Routing/Tests/Fixtures/php_dsl.php index 0780c9fa80..0b8fa0a9eb 100644 --- a/src/Symfony/Component/Routing/Tests/Fixtures/php_dsl.php +++ b/src/Symfony/Component/Routing/Tests/Fixtures/php_dsl.php @@ -15,6 +15,9 @@ return function (RoutingConfigurator $routes) { ->prefix('/sub') ->requirements(array('id' => '\d+')); + $routes->import('php_dsl_sub.php') + ->prefix('/zub', 'z_'); + $routes->add('ouf', '/ouf') ->schemes(array('https')) ->methods(array('GET')) diff --git a/src/Symfony/Component/Routing/Tests/Loader/PhpFileLoaderTest.php b/src/Symfony/Component/Routing/Tests/Loader/PhpFileLoaderTest.php index 378254282f..c0a72b6f81 100644 --- a/src/Symfony/Component/Routing/Tests/Loader/PhpFileLoaderTest.php +++ b/src/Symfony/Component/Routing/Tests/Loader/PhpFileLoaderTest.php @@ -106,6 +106,8 @@ class PhpFileLoaderTest extends TestCase ->setHost('host') ->setRequirements(array('id' => '\d+')) ); + $expectedCollection->add('z_c_bar', new Route('/zub/pub/bar')); + $expectedCollection->add('z_c_pub_buz', (new Route('/zub/pub/buz'))->setHost('host')); $expectedCollection->add('ouf', (new Route('/ouf')) ->setSchemes(array('https')) ->setMethods(array('GET'))