top-level anonymous services must be public

This commit is contained in:
Christian Flothmann 2016-05-04 21:53:17 +02:00
parent af4ca4f48b
commit 13a47c3c6d
2 changed files with 4 additions and 4 deletions

View File

@ -237,6 +237,9 @@ class XmlFileLoader extends FileLoader
$definitions[(string) $node['id']] = array($node->service, $file, false);
$node->service['id'] = (string) $node['id'];
// anonymous services are always private
$node->service['public'] = false;
}
}
@ -254,9 +257,6 @@ class XmlFileLoader extends FileLoader
// resolve definitions
krsort($definitions);
foreach ($definitions as $id => $def) {
// anonymous services are always private
$def[0]['public'] = false;
$this->parseDefinition($id, $def[0], $def[1]);
$oNode = dom_import_simplexml($def[0]);

View File

@ -158,7 +158,7 @@ class XmlFileLoaderTest extends \PHPUnit_Framework_TestCase
$service = $container->getDefinition($id);
}
$this->assertEquals('BizClass', $service->getClass(), '->load() uses the same configuration as for the anonymous ones');
$this->assertFalse($service->isPublic());
$this->assertTrue($service->isPublic());
// anonymous services are shared when using decoration definitions
$container->compile();