8000 Check aliases · symfony/symfony@37bd70b · GitHub
[go: up one dir, main page]

Skip to content

Commit 37bd70b

Browse files
committed
Check aliases
1 parent e4218a9 commit 37bd70b

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

src/Symfony/Component/DependencyInjection/Compiler/CheckDefinitionValidityPass.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,5 +81,12 @@ public function process(ContainerBuilder $container)
8181
throw new RuntimeException(sprintf('A service name ("%s") cannot contain dynamic values.', $resolvedId));
8282
}
8383
}
84+
85+
foreach ($container->getAliases() as $id => $alias) {
86+
$resolvedId = $container->resolveEnvPlaceholders($id, null, $usedEnvs);
87+
if (null !== $usedEnvs) {
88+
throw new RuntimeException(sprintf('An alias name ("%s") cannot contain dynamic values.', $resolvedId));
89+
}
90+
}
8491
}
8592
}

src/Symfony/Component/DependencyInjection/Tests/Compiler/CheckDefinitionValidityPassTest.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,18 @@ public function testDynamicServiceName()
8888
$this->process($container);
8989
}
9090

91+
/**
92+
* @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException
93+
*/
94+
public function testDynamicAliasName()
95+
{
96+
$container = new ContainerBuilder();
97+
$env = $container->getParameterBag()->get('env(BAR)');
98+
$container->setAlias("foo.$env", 'class');
99+
100+
$this->process($container);
101+
}
102+
91103
protected function process(ContainerBuilder $container)
92104
{
93105
$pass = new CheckDefinitionValidityPass();

0 commit comments

Comments
 (0)
0