Yaffs site version 1.1
[yaffs-website] / vendor / symfony / http-kernel / DependencyInjection / MergeExtensionConfigurationPass.php
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\HttpKernel\DependencyInjection;
13
14 use Symfony\Component\DependencyInjection\Compiler\MergeExtensionConfigurationPass as BaseMergeExtensionConfigurationPass;
15 use Symfony\Component\DependencyInjection\ContainerBuilder;
16
17 /**
18  * Ensures certain extensions are always loaded.
19  *
20  * @author Kris Wallsmith <kris@symfony.com>
21  */
22 class MergeExtensionConfigurationPass extends BaseMergeExtensionConfigurationPass
23 {
24     private $extensions;
25
26     public function __construct(array $extensions)
27     {
28         $this->extensions = $extensions;
29     }
30
31     public function process(ContainerBuilder $container)
32     {
33         foreach ($this->extensions as $extension) {
34             if (!count($container->getExtensionConfig($extension))) {
35                 $container->loadFromExtension($extension, array());
36             }
37         }
38
39         parent::process($container);
40     }
41 }