KernelInterface.php

Namespace

Symfony\Component\HttpKernel

File

drupal/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/KernelInterface.php
View source
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
namespace Symfony\Component\HttpKernel;

use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\HttpKernel\HttpKernelInterface;
use Symfony\Component\HttpKernel\Bundle\BundleInterface;
use Symfony\Component\Config\Loader\LoaderInterface;

/**
 * The Kernel is the heart of the Symfony system.
 *
 * It manages an environment made of bundles.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @api
 */
interface KernelInterface extends HttpKernelInterface, \Serializable {

  /**
   * Returns an array of bundles to registers.
   *
   * @return BundleInterface[] An array of bundle instances.
   *
   * @api
   */
  public function registerBundles();

  /**
   * Loads the container configuration
   *
   * @param LoaderInterface $loader A LoaderInterface instance
   *
   * @api
   */
  public function registerContainerConfiguration(LoaderInterface $loader);

  /**
   * Boots the current kernel.
   *
   * @api
   */
  public function boot();

  /**
   * Shutdowns the kernel.
   *
   * This method is mainly useful when doing functional testing.
   *
   * @api
   */
  public function shutdown();

  /**
   * Gets the registered bundle instances.
   *
   * @return BundleInterface[] An array of registered bundle instances
   *
   * @api
   */
  public function getBundles();

  /**
   * Checks if a given class name belongs to an active bundle.
   *
   * @param string $class A class name
   *
   * @return Boolean true if the class belongs to an active bundle, false otherwise
   *
   * @api
   */
  public function isClassInActiveBundle($class);

  /**
   * Returns a bundle and optionally its descendants by its name.
   *
   * @param string  $name  Bundle name
   * @param Boolean $first Whether to return the first bundle only or together with its descendants
   *
   * @return BundleInterface|BundleInterface[] A BundleInterface instance or an array of BundleInterface instances if $first is false
   *
   * @throws \InvalidArgumentException when the bundle is not enabled
   *
   * @api
   */
  public function getBundle($name, $first = true);

  /**
   * Returns the file path for a given resource.
   *
   * A Resource can be a file or a directory.
   *
   * The resource name must follow the following pattern:
   *
   *     @BundleName/path/to/a/file.something
   *
   * where BundleName is the name of the bundle
   * and the remaining part is the relative path in the bundle.
   *
   * If $dir is passed, and the first segment of the path is Resources,
   * this method will look for a file named:
   *
   *     $dir/BundleName/path/without/Resources
   *
   * @param string  $name  A resource name to locate
   * @param string  $dir   A directory where to look for the resource first
   * @param Boolean $first Whether to return the first path or paths for all matching bundles
   *
   * @return string|array The absolute path of the resource or an array if $first is false
   *
   * @throws \InvalidArgumentException if the file cannot be found or the name is not valid
   * @throws \RuntimeException         if the name contains invalid/unsafe characters
   *
   * @api
   */
  public function locateResource($name, $dir = null, $first = true);

  /**
   * Gets the name of the kernel
   *
   * @return string The kernel name
   *
   * @api
   */
  public function getName();

  /**
   * Gets the environment.
   *
   * @return string The current environment
   *
   * @api
   */
  public function getEnvironment();

  /**
   * Checks if debug mode is enabled.
   *
   * @return Boolean true if debug mode is enabled, false otherwise
   *
   * @api
   */
  public function isDebug();

  /**
   * Gets the application root dir.
   *
   * @return string The application root dir
   *
   * @api
   */
  public function getRootDir();

  /**
   * Gets the current container.
   *
   * @return ContainerInterface A ContainerInterface instance
   *
   * @api
   */
  public function getContainer();

  /**
   * Gets the request start time (not available if debug is disabled).
   *
   * @return integer The request start timestamp
   *
   * @api
   */
  public function getStartTime();

  /**
   * Gets the cache directory.
   *
   * @return string The cache directory
   *
   * @api
   */
  public function getCacheDir();

  /**
   * Gets the log directory.
   *
   * @return string The log directory
   *
   * @api
   */
  public function getLogDir();

  /**
   * Gets the charset of the application.
   *
   * @return string The charset
   *
   * @api
   */
  public function getCharset();

}

Interfaces

Namesort descending Description
KernelInterface The Kernel is the heart of the Symfony system.