Version 1
[yaffs-website] / vendor / drupal / console / src / Bootstrap / DrupalKernel.php
diff --git a/vendor/drupal/console/src/Bootstrap/DrupalKernel.php b/vendor/drupal/console/src/Bootstrap/DrupalKernel.php
new file mode 100644 (file)
index 0000000..0bf2012
--- /dev/null
@@ -0,0 +1,53 @@
+<?php
+
+namespace Drupal\Console\Bootstrap;
+
+use Symfony\Component\HttpFoundation\Request;
+use Drupal\Core\DrupalKernel as DrupalKernelBase;
+use Drupal\Core\DependencyInjection\ServiceModifierInterface;
+
+/**
+ * Class DrupalKernel
+ *
+ * @package Drupal\Console\Utils
+ */
+class DrupalKernel extends DrupalKernelBase
+{
+    /**
+     * @var ServiceModifierInterface[]
+     */
+    protected $serviceModifiers = [];
+
+    /**
+     * @inheritdoc
+     */
+    public static function createFromRequest(Request $request, $class_loader, $environment, $allow_dumping = true, $app_root = null)
+    {
+        $kernel = new static($environment, $class_loader, $allow_dumping, $app_root);
+        static::bootEnvironment($app_root);
+        $kernel->initializeSettings($request);
+        $kernel->handle($request);
+        return $kernel;
+    }
+
+    /**
+     * @param \Drupal\Core\DependencyInjection\ServiceModifierInterface $serviceModifier
+     */
+    public function addServiceModifier(ServiceModifierInterface $serviceModifier)
+    {
+        $this->serviceModifiers[] = $serviceModifier;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    protected function getContainerBuilder()
+    {
+        $container = parent::getContainerBuilder();
+        foreach ($this->serviceModifiers as $serviceModifier) {
+            $serviceModifier->alter($container);
+        }
+
+        return $container;
+    }
+}