2015-08-17 17:00:26 -07:00
< ? php
/**
* @ file
* Contains \Drupal\Core\DrupalKernelInterface .
*/
namespace Drupal\Core ;
2015-09-04 13:20:09 -07:00
use Symfony\Component\DependencyInjection\ContainerAwareInterface ;
2015-08-17 17:00:26 -07:00
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 .
*/
2015-09-04 13:20:09 -07:00
interface DrupalKernelInterface extends HttpKernelInterface , ContainerAwareInterface {
2015-08-17 17:00:26 -07:00
/**
* 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 ();
2015-09-04 13:20:09 -07:00
/**
* 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 ();
2015-08-17 17:00:26 -07:00
/**
* 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 = array ());
2015-08-27 12:03:05 -07:00
/**
* Force a container rebuild .
*
* @ return \Symfony\Component\DependencyInjection\ContainerInterface
*/
public function rebuildContainer ();
/**
* Invalidate the service container for the next request .
*/
public function invalidateContainer ();
2015-08-17 17:00:26 -07:00
/**
* Prepare the kernel for handling a request without handling the request .
*
* @ param \Symfony\Component\HttpFoundation\Request $request
* The current request .
*
* @ return $this
*
* @ deprecated 8. x
* 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 ();
}