Kernel
abstract class Kernel implements KernelInterface, RebootableInterface, TerminableInterface
The Kernel is the heart of the Symfony system.
It manages an environment made of bundles.
Constants
| VERSION | |
| VERSION_ID | |
| MAJOR_VERSION | |
| MINOR_VERSION | |
| RELEASE_VERSION | |
| EXTRA_VERSION | |
| END_OF_MAINTENANCE | |
| END_OF_LIFE |
Properties
| protected BundleInterface[] | $bundles | ||
| protected | $container | ||
| protected | $rootDir | ||
| protected | $environment | ||
| protected | $debug | ||
| protected | $booted | ||
| protected | $name | ||
| protected | $startTime |
Methods
| __construct(string $environment, bool $debug) | ||
| __clone() | ||
| boot() Boots the current kernel. | ||
| reboot(string|null $warmupDir) Reboots a kernel. | ||
| terminate(Request $request, Response $response) Terminates a request/response cycle. | ||
| shutdown() Shutdowns the kernel. | ||
| Response | handle(Request $request, int $type = HttpKernelInterface::MASTER_REQUEST, bool $catch = true) Handles a Request to convert it to a Response. | |
| HttpKernel | getHttpKernel() Gets a HTTP kernel from the container. | |
| BundleInterface[] | getBundles() Gets the registered bundle instances. | |
| BundleInterface | getBundle(string $name) Returns a bundle. | |
| string|array | locateResource(string $name, string $dir = null, bool $first = true) Returns the file path for a given bundle resource. | |
| string | getName() Gets the name of the kernel. | |
| string | getEnvironment() Gets the environment. | |
| bool | isDebug() Checks if debug mode is enabled. | |
| string | getRootDir() Gets the application root dir (path of the project's Kernel class). | |
| string | getProjectDir() Gets the application root dir (path of the project's composer file). | |
| ContainerInterface|null | getContainer() Gets the current container. | |
| setAnnotatedClassCache(array $annotatedClasses) | ||
| int | getStartTime() Gets the request start time (not available if debug is disabled). | |
| string | getCacheDir() Gets the cache directory. | |
| string | getLogDir() Gets the log directory. | |
| string | getCharset() Gets the charset of the application. | |
| array | getAnnotatedClassesToCompile() Gets the patterns defining the classes to parse and cache for annotations. | |
| initializeBundles() Initializes bundles. | ||
| build(ContainerBuilder $container) The extension point similar to the Bundle::build() method. | ||
| string | getContainerClass() Gets the container class. | |
| string | getContainerBaseClass() Gets the container's base class. | |
| initializeContainer() Initializes the service container. | ||
| array | getKernelParameters() Returns the kernel parameters. | |
| ContainerBuilder | buildContainer() Builds the service container. | |
| prepareContainer(ContainerBuilder $container) Prepares the ContainerBuilder before it is compiled. | ||
| ContainerBuilder | getContainerBuilder() Gets a new ContainerBuilder instance used to build the service container. | |
| dumpContainer(ConfigCache $cache, ContainerBuilder $container, string $class, string $baseClass) Dumps the service container to PHP code in the cache. | ||
| DelegatingLoader | getContainerLoader(ContainerInterface $container) Returns a loader for the container. | |
| static string | stripComments(string $source) Removes comments from a PHP source string. | |
| serialize() | ||
| unserialize($data) |
Details
__construct(string $environment, bool $debug)
Parameters
| string | $environment | |
| bool | $debug |
__clone()
boot()
Boots the current kernel.
reboot(string|null $warmupDir)
Reboots a kernel.
The getCacheDir() method of a rebootable kernel should not be called while building the container. Use the %kernel.cache_dir% parameter instead.
Parameters
| string|null | $warmupDir | pass null to reboot in the regular cache directory |
terminate(Request $request, Response $response)
Terminates a request/response cycle.
Should be called after sending the response and before shutting down the kernel.
Parameters
| Request | $request | |
| Response | $response |
shutdown()
Shutdowns the kernel.
This method is mainly useful when doing functional testing.
Response handle(Request $request, int $type = HttpKernelInterface::MASTER_REQUEST, bool $catch = true)
Handles a Request to convert it to a Response.
When $catch is true, the implementation must catch all exceptions and do its best to convert them to a Response instance.
Parameters
| Request | $request | A Request instance |
| int | $type | The type of the request (one of HttpKernelInterface::MASTER_REQUEST or HttpKernelInterface::SUB_REQUEST) |
| bool | $catch | Whether to catch exceptions or not |
Return Value
| Response | A Response instance |
Exceptions
| Exception | When an Exception occurs during processing |
protected HttpKernel getHttpKernel()
Gets a HTTP kernel from the container.
Return Value
| HttpKernel |
BundleInterface[] getBundles()
Gets the registered bundle instances.
Return Value
| BundleInterface[] | An array of registered bundle instances |
BundleInterface getBundle(string $name)
Returns a bundle.
Parameters
| string | $name | Bundle name |
Return Value
| BundleInterface | A BundleInterface instance |
Exceptions
| InvalidArgumentException | when the bundle is not enabled |
string|array locateResource(string $name, string $dir = null, bool $first = true)
Returns the file path for a given bundle 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
before looking in the bundle resource folder.
Parameters
| string | $name | A resource name to locate |
| string | $dir | A directory where to look for the resource first |
| bool | $first | Whether to return the first path or paths for all matching bundles |
Return Value
| string|array | The absolute path of the resource or an array if $first is false |
Exceptions
| InvalidArgumentException | if the file cannot be found or the name is not valid |
| RuntimeException | if the name contains invalid/unsafe characters |
string getName()
Gets the name of the kernel.
Return Value
| string | The kernel name |
string getEnvironment()
Gets the environment.
Return Value
| string | The current environment |
bool isDebug()
Checks if debug mode is enabled.
Return Value
| bool | true if debug mode is enabled, false otherwise |
string getRootDir()
Gets the application root dir (path of the project's Kernel class).
Return Value
| string | The Kernel root dir |
string getProjectDir()
Gets the application root dir (path of the project's composer file).
Return Value
| string | The project root dir |
ContainerInterface|null getContainer()
Gets the current container.
Return Value
| ContainerInterface|null | A ContainerInterface instance or null when the Kernel is shutdown |
setAnnotatedClassCache(array $annotatedClasses)
Parameters
| array | $annotatedClasses |
int getStartTime()
Gets the request start time (not available if debug is disabled).
Return Value
| int | The request start timestamp |
string getCacheDir()
Gets the cache directory.
Return Value
| string | The cache directory |
string getLogDir()
Gets the log directory.
Return Value
| string | The log directory |
string getCharset()
Gets the charset of the application.
Return Value
| string | The charset |
array getAnnotatedClassesToCompile()
Gets the patterns defining the classes to parse and cache for annotations.
Return Value
| array |
protected initializeBundles()
Initializes bundles.
Exceptions
| LogicException | if two bundles share a common name |
protected build(ContainerBuilder $container)
The extension point similar to the Bundle::build() method.
Use this method to register compiler passes and manipulate the container during the building process.
Parameters
| ContainerBuilder | $container |
protected string getContainerClass()
Gets the container class.
Return Value
| string | The container class |
protected string getContainerBaseClass()
Gets the container's base class.
All names except Container must be fully qualified.
Return Value
| string |
protected initializeContainer()
Initializes the service container.
The cached version of the service container is used when fresh, otherwise the container is built.
protected array getKernelParameters()
Returns the kernel parameters.
Return Value
| array | An array of kernel parameters |
protected ContainerBuilder buildContainer()
Builds the service container.
Return Value
| ContainerBuilder | The compiled service container |
Exceptions
| RuntimeException |
protected prepareContainer(ContainerBuilder $container)
Prepares the ContainerBuilder before it is compiled.
Parameters
| ContainerBuilder | $container |
protected ContainerBuilder getContainerBuilder()
Gets a new ContainerBuilder instance used to build the service container.
Return Value
| ContainerBuilder |
protected dumpContainer(ConfigCache $cache, ContainerBuilder $container, string $class, string $baseClass)
Dumps the service container to PHP code in the cache.
Parameters
| ConfigCache | $cache | The config cache |
| ContainerBuilder | $container | The service container |
| string | $class | The name of the class to generate |
| string | $baseClass | The name of the container's base class |
protected DelegatingLoader getContainerLoader(ContainerInterface $container)
Returns a loader for the container.
Parameters
| ContainerInterface | $container |
Return Value
| DelegatingLoader | The loader |
static string stripComments(string $source)
Removes comments from a PHP source string.
We don't use the PHP php_strip_whitespace() function as we want the content to be readable and well-formatted.
Parameters
| string | $source | A PHP string |
Return Value
| string | The PHP string with the comments removed |
serialize()
unserialize($data)
Parameters
| $data |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/HttpKernel/Kernel.html