environment = $environment; } /** * @param boolean $debug */ public function setDebug($debug) { $this->debug = $debug; } /** * @return void */ public function bootKernel() { if (!$this->booted) { $kernel = $this->getKernel(); $kernel->boot(); $kernel->preHandle($this->request); $container = $kernel->getContainer(); $container->set('request', $this->request); $container->get('request_stack')->push($this->request); $this->booted = true; } } /** * @return \Drupal\Core\DrupalKernel */ public function getKernel() { if (!$this->kernel) { $this->request = Request::createFromGlobals(); $this->kernel = DrupalKernel::createFromRequest( $this->request, $this->class_loader, $this->environment ); } return $this->kernel; } public function terminate() { if ($this->booted) { $response = Response::create(''); $this->kernel->terminate($this->request, $response); } } /** * @param \Drupal\Core\DrupalKernel $kernel */ public function setKernel(DrupalKernel $kernel) { $this->kernel = $kernel; } /** * @param array $commands */ public function initCommands(array $commands) { $container = $this->getKernel()->getContainer(); array_walk($commands, function ($command) use ($container) { if ($command instanceof ContainerAwareInterface) { $command->setContainer($container); } }); } /** * @return \Symfony\Component\EventDispatcher\EventDispatcherInterface */ public function getEventDispatcher() { return $this->getKernel()->getContainer()->get('event_dispatcher'); } /** * {@inheritdoc} */ public function getName() { return 'kernel'; } /** * @return \Composer\Autoload\ClassLoader */ public function getClassLoader() { return $this->class_loader; } public function setClassLoader(ClassLoader $class_loader) { $this->class_loader = $class_loader; } /** * @return \Symfony\Component\HttpFoundation\Request */ public function getRequest() { return $this->request; } }