Kernel
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 |
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. | |
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 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 | 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. | |
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::MASTERREQUEST or HttpKernelInterface::SUBREQUEST) |
bool | $catch | Whether to catch exceptions or not |
Return Value
Response | A Response instance |
Exceptions
Exception | When an Exception occurs during processing |
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 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 getContainer()
Gets the current container.
Return Value
ContainerInterface | A ContainerInterface instance |
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 |
static string stripComments(string $source)
Removes comments from a PHP source string.
We don't use the PHP phpstripwhitespace() 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.
http://api.symfony.com/4.0/Symfony/Component/HttpKernel/Kernel.html