bug #26597 [Routing] Fix name-prefixing when using PHP DSL (nicolas-grekas)

This PR was merged into the 4.1-dev branch.

Discussion
----------

[Routing] Fix name-prefixing when using PHP DSL

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Fixes bad implem merged in #25178

Commits
-------

0053eee [Routing] Fix name-prefixing when using PHP DSL
This commit is contained in:
Nicolas Grekas 2018-03-19 12:54:18 +01:00
commit e32c1da628
4 changed files with 12 additions and 11 deletions

View File

@ -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 {

View File

@ -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;
}
}

View File

@ -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'))

View File

@ -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'))