209 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			209 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?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();
 | 
						|
}
 |