diff core/lib/Drupal/Core/DrupalKernelInterface.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/core/lib/Drupal/Core/DrupalKernelInterface.php	Wed Nov 29 16:09:58 2017 +0000
@@ -0,0 +1,153 @@
+<?php
+
+namespace Drupal\Core;
+
+use Symfony\Component\DependencyInjection\ContainerAwareInterface;
+use Symfony\Component\HttpKernel\HttpKernelInterface;
+use Symfony\Component\HttpFoundation\Request;
+
+/**
+ * The interface for DrupalKernel, the core of Drupal.
+ *
+ * This interface extends Symfony's KernelInterface and adds methods for
+ * responding to modules being enabled or disabled during its lifetime.
+ */
+interface DrupalKernelInterface extends HttpKernelInterface, ContainerAwareInterface {
+
+  /**
+   * Event fired when the service container finished initializing in subrequest.
+   *
+   * This event allows you to initialize overrides such as language to the
+   * services.
+   *
+   * @var string
+   */
+  const CONTAINER_INITIALIZE_SUBREQUEST_FINISHED = 'kernel.container.finish_container_initialize_subrequest';
+
+  /**
+   * Boots the current kernel.
+   *
+   * @return $this
+   */
+  public function boot();
+
+  /**
+   * Shuts down the kernel.
+   */
+  public function shutdown();
+
+  /**
+   * Discovers available serviceProviders.
+   *
+   * @return array
+   *   The available serviceProviders.
+   */
+  public function discoverServiceProviders();
+
+  /**
+   * Returns all registered service providers.
+   *
+   * @param string $origin
+   *   The origin for which to return service providers; one of 'app' or 'site'.
+   *
+   * @return array
+   *   An associative array of ServiceProvider objects, keyed by name.
+   */
+  public function getServiceProviders($origin);
+
+  /**
+   * Gets the current container.
+   *
+   * @return \Symfony\Component\DependencyInjection\ContainerInterface
+   *   A ContainerInterface instance.
+   */
+  public function getContainer();
+
+  /**
+   * Returns the cached container definition - if any.
+   *
+   * This also allows inspecting a built container for debugging purposes.
+   *
+   * @return array|null
+   *   The cached container definition or NULL if not found in cache.
+   */
+  public function getCachedContainerDefinition();
+
+  /**
+   * Set the current site path.
+   *
+   * @param string $path
+   *   The current site path.
+   *
+   * @throws \LogicException
+   *   In case the kernel is already booted.
+   */
+  public function setSitePath($path);
+
+  /**
+   * Get the site path.
+   *
+   * @return string
+   *   The current site path.
+   */
+  public function getSitePath();
+
+  /**
+   * Gets the app root.
+   *
+   * @return string
+   */
+  public function getAppRoot();
+
+  /**
+   * Updates the kernel's list of modules to the new list.
+   *
+   * The kernel needs to update its bundle list and container to match the new
+   * list.
+   *
+   * @param array $module_list
+   *   The new list of modules.
+   * @param array $module_filenames
+   *   List of module filenames, keyed by module name.
+   */
+  public function updateModules(array $module_list, array $module_filenames = []);
+
+  /**
+   * Force a container rebuild.
+   *
+   * @return \Symfony\Component\DependencyInjection\ContainerInterface
+   */
+  public function rebuildContainer();
+
+  /**
+   * Invalidate the service container for the next request.
+   */
+  public function invalidateContainer();
+
+  /**
+   * Prepare the kernel for handling a request without handling the request.
+   *
+   * @param \Symfony\Component\HttpFoundation\Request $request
+   *   The current request.
+   *
+   * @return $this
+   *
+   * @deprecated in Drupal 8.0.x and will be removed before 9.0.0. Only used by
+   *   legacy front-controller scripts.
+   */
+  public function prepareLegacyRequest(Request $request);
+
+  /**
+   * Helper method that does request related initialization.
+   *
+   * @param \Symfony\Component\HttpFoundation\Request $request
+   *   The current request.
+   */
+  public function preHandle(Request $request);
+
+  /**
+   * Helper method that loads legacy Drupal include files.
+   */
+  public function loadLegacyIncludes();
+
+}