[ Index ] |
PHP Cross Reference of phpBB-3.1.12-deutsch |
[Summary view] [Print] [Text view]
1 <?php 2 3 /* 4 * This file is part of the Symfony package. 5 * 6 * (c) Fabien Potencier <fabien@symfony.com> 7 * 8 * For the full copyright and license information, please view the LICENSE 9 * file that was distributed with this source code. 10 */ 11 12 namespace Symfony\Component\DependencyInjection\Compiler; 13 14 use Symfony\Component\DependencyInjection\ContainerBuilder; 15 use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface; 16 17 /** 18 * Merges extension configs into the container builder. 19 * 20 * @author Fabien Potencier <fabien@symfony.com> 21 */ 22 class MergeExtensionConfigurationPass implements CompilerPassInterface 23 { 24 /** 25 * {@inheritdoc} 26 */ 27 public function process(ContainerBuilder $container) 28 { 29 $parameters = $container->getParameterBag()->all(); 30 $definitions = $container->getDefinitions(); 31 $aliases = $container->getAliases(); 32 33 foreach ($container->getExtensions() as $extension) { 34 if ($extension instanceof PrependExtensionInterface) { 35 $extension->prepend($container); 36 } 37 } 38 39 foreach ($container->getExtensions() as $name => $extension) { 40 if (!$config = $container->getExtensionConfig($name)) { 41 // this extension was not called 42 continue; 43 } 44 $config = $container->getParameterBag()->resolveValue($config); 45 46 $tmpContainer = new ContainerBuilder($container->getParameterBag()); 47 $tmpContainer->setResourceTracking($container->isTrackingResources()); 48 $tmpContainer->addObjectResource($extension); 49 50 $extension->load($config, $tmpContainer); 51 52 $container->merge($tmpContainer); 53 $container->getParameterBag()->add($parameters); 54 } 55 56 $container->addDefinitions($definitions); 57 $container->addAliases($aliases); 58 } 59 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Thu Jan 11 00:25:41 2018 | Cross-referenced by PHPXref 0.7.1 |