kept routes priorities after add a name prefix to the collection
This commit is contained in:
parent
6d6d989dbe
commit
10105267b5
@ -171,7 +171,7 @@ class YamlFileLoader extends FileLoader
|
||||
$schemes = isset($config['schemes']) ? $config['schemes'] : null;
|
||||
$methods = isset($config['methods']) ? $config['methods'] : null;
|
||||
$trailingSlashOnRoot = $config['trailing_slash_on_root'] ?? true;
|
||||
$namePrefix = $config['name_prefix'] ?? '';
|
||||
$namePrefix = $config['name_prefix'] ?? null;
|
||||
$exclude = $config['exclude'] ?? null;
|
||||
|
||||
if (isset($config['controller'])) {
|
||||
|
@ -179,8 +179,8 @@ class RouteCollection implements \IteratorAggregate, \Countable
|
||||
|
||||
foreach ($this->routes as $name => $route) {
|
||||
$prefixedRoutes[$prefix.$name] = $route;
|
||||
if (null !== $name = $route->getDefault('_canonical_route')) {
|
||||
$route->setDefault('_canonical_route', $prefix.$name);
|
||||
if (null !== $canonicalName = $route->getDefault('_canonical_route')) {
|
||||
$route->setDefault('_canonical_route', $prefix.$canonicalName);
|
||||
}
|
||||
if (isset($this->priorities[$name])) {
|
||||
$prefixedPriorities[$prefix.$name] = $this->priorities[$name];
|
||||
|
@ -363,4 +363,21 @@ class RouteCollectionTest extends TestCase
|
||||
|
||||
$this->assertSame($expected, $collection2->all());
|
||||
}
|
||||
|
||||
public function testAddWithPriorityAndPrefix()
|
||||
{
|
||||
$collection3 = new RouteCollection();
|
||||
$collection3->add('foo3', $foo3 = new Route('/foo'), 0);
|
||||
$collection3->add('bar3', $bar3 = new Route('/bar'), 1);
|
||||
$collection3->add('baz3', $baz3 = new Route('/baz'));
|
||||
$collection3->addNamePrefix('prefix_');
|
||||
|
||||
$expected = [
|
||||
'prefix_bar3' => $bar3,
|
||||
'prefix_foo3' => $foo3,
|
||||
'prefix_baz3' => $baz3,
|
||||
];
|
||||
|
||||
$this->assertSame($expected, $collection3->all());
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user