top-level anonymous services must be public
This commit is contained in:
parent
af4ca4f48b
commit
13a47c3c6d
@ -237,6 +237,9 @@ class XmlFileLoader extends FileLoader
|
|||||||
|
|
||||||
$definitions[(string) $node['id']] = array($node->service, $file, false);
|
$definitions[(string) $node['id']] = array($node->service, $file, false);
|
||||||
$node->service['id'] = (string) $node['id'];
|
$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
|
// resolve definitions
|
||||||
krsort($definitions);
|
krsort($definitions);
|
||||||
foreach ($definitions as $id => $def) {
|
foreach ($definitions as $id => $def) {
|
||||||
// anonymous services are always private
|
|
||||||
$def[0]['public'] = false;
|
|
||||||
|
|
||||||
$this->parseDefinition($id, $def[0], $def[1]);
|
$this->parseDefinition($id, $def[0], $def[1]);
|
||||||
|
|
||||||
$oNode = dom_import_simplexml($def[0]);
|
$oNode = dom_import_simplexml($def[0]);
|
||||||
|
@ -158,7 +158,7 @@ class XmlFileLoaderTest extends \PHPUnit_Framework_TestCase
|
|||||||
$service = $container->getDefinition($id);
|
$service = $container->getDefinition($id);
|
||||||
}
|
}
|
||||||
$this->assertEquals('BizClass', $service->getClass(), '->load() uses the same configuration as for the anonymous ones');
|
$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
|
// anonymous services are shared when using decoration definitions
|
||||||
$container->compile();
|
$container->compile();
|
||||||
|
Reference in New Issue
Block a user