0bf201230b88bea1c2cb6edb17b5fd6b47ba1475
[yaffs-website] / vendor / drupal / console / src / Bootstrap / DrupalKernel.php
1 <?php
2
3 namespace Drupal\Console\Bootstrap;
4
5 use Symfony\Component\HttpFoundation\Request;
6 use Drupal\Core\DrupalKernel as DrupalKernelBase;
7 use Drupal\Core\DependencyInjection\ServiceModifierInterface;
8
9 /**
10  * Class DrupalKernel
11  *
12  * @package Drupal\Console\Utils
13  */
14 class DrupalKernel extends DrupalKernelBase
15 {
16     /**
17      * @var ServiceModifierInterface[]
18      */
19     protected $serviceModifiers = [];
20
21     /**
22      * @inheritdoc
23      */
24     public static function createFromRequest(Request $request, $class_loader, $environment, $allow_dumping = true, $app_root = null)
25     {
26         $kernel = new static($environment, $class_loader, $allow_dumping, $app_root);
27         static::bootEnvironment($app_root);
28         $kernel->initializeSettings($request);
29         $kernel->handle($request);
30         return $kernel;
31     }
32
33     /**
34      * @param \Drupal\Core\DependencyInjection\ServiceModifierInterface $serviceModifier
35      */
36     public function addServiceModifier(ServiceModifierInterface $serviceModifier)
37     {
38         $this->serviceModifiers[] = $serviceModifier;
39     }
40
41     /**
42      * @inheritdoc
43      */
44     protected function getContainerBuilder()
45     {
46         $container = parent::getContainerBuilder();
47         foreach ($this->serviceModifiers as $serviceModifier) {
48             $serviceModifier->alter($container);
49         }
50
51         return $container;
52     }
53 }