From afe6005f49be20b302da9f7b5398d1a58e837a86 Mon Sep 17 00:00:00 2001 From: Ryan Weaver Date: Tue, 24 May 2011 08:30:11 -0500 Subject: [PATCH] [SecurityBundle] Using a DelegatingLoader so that security factories can be in any config format --- .../DependencyInjection/SecurityExtension.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.php b/src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.php index bb1ebb6f2a..227da7dcb5 100644 --- a/src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.php +++ b/src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.php @@ -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