[SecurityBundle] Using a DelegatingLoader so that security factories can be in any config format

This commit is contained in:
Ryan Weaver 2011-05-24 08:30:11 -05:00
parent 5e1710f136
commit afe6005f49

View File

@ -15,6 +15,10 @@ use Symfony\Component\DependencyInjection\DefinitionDecorator;
use Symfony\Component\DependencyInjection\Alias;
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
use Symfony\Component\DependencyInjection\Loader\PhpFileLoader;
use Symfony\Component\Config\Loader\DelegatingLoader;
use Symfony\Component\Config\Loader\LoaderResolver;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Reference;
use Symfony\Component\DependencyInjection\Parameter;
@ -566,7 +570,15 @@ class SecurityExtension extends Extension
// load service templates
$c = new ContainerBuilder();
$parameterBag = $container->getParameterBag();
$loader = new XmlFileLoader($c, new FileLocator(__DIR__.'/../Resources/config'));
$locator = new FileLocator(__DIR__.'/../Resources/config');
$resolver = new LoaderResolver(array(
new XmlFileLoader($c, $locator),
new YamlFileLoader($c, $locator),
new PhpFileLoader($c, $locator),
));
$loader = new DelegatingLoader($resolver);
$loader->load('security_factories.xml');
// load user-created listener factories