diff -r 000000000000 -r 7f95f8617b0b vendor/bundles/Symfony/Bundle/AsseticBundle/DependencyInjection/Compiler/TemplatingPass.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/bundles/Symfony/Bundle/AsseticBundle/DependencyInjection/Compiler/TemplatingPass.php Sat Sep 24 15:40:41 2011 +0200 @@ -0,0 +1,44 @@ + + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ + +namespace Symfony\Bundle\AsseticBundle\DependencyInjection\Compiler; + +use Symfony\Component\DependencyInjection\ContainerBuilder; +use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; + +/** + * This pass removes services associated with unused templating engines. + * + * @author Kris Wallsmith + */ +class TemplatingPass implements CompilerPassInterface +{ + public function process(ContainerBuilder $container) + { + if (!$container->hasDefinition('assetic.asset_manager')) { + return; + } + + $engines = $container->getParameterBag()->resolveValue($container->getParameter('templating.engines')); + + if (!in_array('twig', $engines)) { + foreach ($container->findTaggedServiceIds('assetic.templating.twig') as $id => $attr) { + $container->removeDefinition($id); + } + } + + if (!in_array('php', $engines)) { + foreach ($container->findTaggedServiceIds('assetic.templating.php') as $id => $attr) { + $container->removeDefinition($id); + } + } + } +}