Configuring in the Kernel
Edit this pageWarning: You are browsing the documentation for Symfony 4.0, which is no longer maintained.
Read the updated version of this page for Symfony 6.2 (the current stable version).
Configuring in the Kernel
Some configuration can be done on the kernel class itself (located by default at
src/Kernel.php
). You can do this by overriding specific methods in
the parent Kernel class.
Configuration
Charset
type: string
default: UTF-8
This returns the charset that is used in the application. To change it, override the getCharset() method and return another charset, for instance:
1 2 3 4 5 6 7 8 9 10 11
// src/Kernel.php
use Symfony\Component\HttpKernel\Kernel as BaseKernel;
// ...
class Kernel extends BaseKernel
{
public function getCharset()
{
return 'ISO-8859-1';
}
}
Kernel Name
type: string
default: src
(i.e. the directory name holding
the kernel class)
To change this setting, override the getName()
method. Alternatively, move your kernel into a different directory. For
example, if you moved the kernel into a foo/
directory (instead of src/
),
the kernel name will be foo
.
The name of the kernel isn't usually directly important - it's used in the generation of cache files - and you probably will only change it when using applications with multiple kernels.
Project Directory
type: string
default: the directory of the project composer.json
This returns the root directory of your Symfony project. It's calculated as
the directory where the main composer.json
file is stored.
If for some reason the composer.json
file is not stored at the root of your
project, you can override the getProjectDir()
method to return the right project directory:
1 2 3 4 5 6 7 8 9 10 11 12 13
// src/Kernel.php
use Symfony\Component\HttpKernel\Kernel as BaseKernel;
// ...
class Kernel extends BaseKernel
{
// ...
public function getProjectDir()
{
return realpath(__DIR__.'/../');
}
}
Cache Directory
type: string
default: $this->rootDir/cache/$this->environment
This returns the path to the cache directory. To change it, override the getCacheDir() method. Read "How to Override Symfony's default Directory Structure" for more information.
Log Directory
type: string
default: $this->rootDir/log
This returns the path to the log directory. To change it, override the getLogDir() method. Read "How to Override Symfony's default Directory Structure" for more information.