[DependencyInjection] Enabled alias for service_container

This commit is contained in:
Martin Hasoň 2016-02-25 23:33:26 +01:00
parent a7fee1244e
commit 6161438f57
2 changed files with 7 additions and 0 deletions

View File

@ -42,6 +42,10 @@ class ReplaceAliasByActualDefinitionPass implements CompilerPassInterface
foreach ($container->getAliases() as $id => $alias) { foreach ($container->getAliases() as $id => $alias) {
$aliasId = (string) $alias; $aliasId = (string) $alias;
if ('service_container' === $aliasId) {
continue;
}
try { try {
$definition = $container->getDefinition($aliasId); $definition = $container->getDefinition($aliasId);
} catch (InvalidArgumentException $e) { } catch (InvalidArgumentException $e) {

View File

@ -32,6 +32,8 @@ class ReplaceAliasByActualDefinitionPassTest extends \PHPUnit_Framework_TestCase
$container->setAlias('a_alias', 'a'); $container->setAlias('a_alias', 'a');
$container->setAlias('b_alias', 'b'); $container->setAlias('b_alias', 'b');
$container->setAlias('container', 'service_container');
$this->process($container); $this->process($container);
$this->assertTrue($container->has('a'), '->process() does nothing to public definitions.'); $this->assertTrue($container->has('a'), '->process() does nothing to public definitions.');
@ -42,6 +44,7 @@ class ReplaceAliasByActualDefinitionPassTest extends \PHPUnit_Framework_TestCase
'->process() replaces alias to actual.' '->process() replaces alias to actual.'
); );
$this->assertSame('b_alias', $aDefinition->getFactoryService()); $this->assertSame('b_alias', $aDefinition->getFactoryService());
$this->assertTrue($container->has('container'));
} }
/** /**