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 of the parent Kernel class.

一部の構成は、カーネル クラス自体 (デフォルトで atsrc/Kernel.php にある) で行うことができます。これは、親カーネル クラスの特定のメソッドをオーバーライドすることで実行できます。

Configuration

In previous Symfony versions there was another configuration option to define the "kernel name", which is only important when using applications with multiple kernels. If you need a unique ID for your kernels use the kernel.container_class parameter or the Kernel::getContainerClass() method.

Symfony の以前のバージョンでは、「カーネル名」を定義する別の設定オプションがありました。これは、複数のカーネルでアプリケーションを使用する場合にのみ重要です。カーネルに一意の ID が必要な場合は、kernel.container_class パラメータまたは Kernel::getContainerClass() メソッドを使用します。

Charset

type: string default: UTF-8

タイプ: 文字列 デフォルト: UTF-8

This option defines the charset that is used in the application. This value is exposed via the kernel.charset configuration parameter and the getCharset() method.

このオプションは、アプリケーションで使用される文字セットを定義します。この値は、kernel.charset 構成パラメーターと getCharset() メソッドによって公開されます。

To change this value, override the getCharset() method and return another charset:

この値を変更するには、getCharset() メソッドをオーバーライドして別の文字セットを返します。
1
2
3
4
5
6
7
8
9
10
11
12
13
// src/Kernel.php
namespace App;

use Symfony\Component\HttpKernel\Kernel as BaseKernel;
// ...

class Kernel extends BaseKernel
{
    public function getCharset(): string
    {
        return 'ISO-8859-1';
    }
}

Project Directory

type: string default: the directory of the project composer.json

タイプ: 文字列 デフォルト: プロジェクト composer.json のディレクトリ

This returns the absolute path of the root directory of your Symfony project, which is used by applications to perform operations with file paths relative to the project's root directory.

これは、Symfony プロジェクトのルート ディレクトリの絶対パスを返します。これは、アプリケーションがプロジェクトのルート ディレクトリに相対するファイル パスで操作を実行するために使用されます。

By default, its value is calculated automatically as the directory where the main composer.json file is stored. This value is exposed via the kernel.project_dir configuration parameter and the getProjectDir() method.

デフォルトでは、その値はメインの composer.json ファイルが保存されているディレクトリとして自動的に計算されます。この値は、kernel.project_dir 構成パラメーターと getProjectDir() メソッドを介して公開されます。

If you don't use Composer, or have moved the composer.json file location or have deleted it entirely (for example in the production servers), you can override the getProjectDir() method to return the right project directory:

Composer を使用しない場合、または composer.json ファイルの場所を移動したか、完全に削除した場合 (たとえば、運用サーバーで)、getProjectDir() メソッドをオーバーライドして、正しいプロジェクト ディレクトリを返すことができます。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// src/Kernel.php
namespace App;

use Symfony\Component\HttpKernel\Kernel as BaseKernel;
// ...

class Kernel extends BaseKernel
{
    // ...

    public function getProjectDir(): string
    {
        return \dirname(__DIR__);
    }
}

Cache Directory

type: string default: $this->getProjectDir()/var/cache/$this->environment

タイプ: 文字列 デフォルト: $this->getProjectDir()/var/cache/$this->environment

This returns the absolute path of the cache directory of your Symfony project. It's calculated automatically based on the current environment. Data might be written to this path at runtime.

これは、Symfony プロジェクトのキャッシュ ディレクトリの絶対パスを返します。これは、現在の環境に基づいて自動的に計算されます。実行時にデータがこのパスに書き込まれる場合があります。

This value is exposed via the kernel.cache_dir configuration parameter and the getCacheDir() method. To change this setting, override the getCacheDir() method to return the correct cache directory.

この値は、kernel.cache_dir 構成パラメーターと getCacheDir() メソッドを介して公開されます。この設定を変更するには、getCacheDir() メソッドをオーバーライドして、正しいキャッシュ ディレクトリを返します。

Build Directory

type: string default: $this->getCacheDir()

タイプ: 文字列 デフォルト: $this->getCacheDir()

This returns the absolute path of a build directory of your Symfony project. This directory can be used to separate read-only cache (i.e. the compiled container) from read-write cache (i.e. cache pools). Specify a non-default value when the application is deployed in a read-only filesystem like a Docker container or AWS Lambda.

これは、Symfony プロジェクトのビルド ディレクトリの絶対パスを返します。このディレクトリは、読み取り専用キャッシュ (つまり、コンパイルされたコンテナー) を読み取り/書き込みキャッシュ (つまり、キャッシュ プール) から分離するために使用できます。アプリケーションが Dockercontainer や AWS Lambda などの読み取り専用ファイル システムにデプロイされている場合は、デフォルト以外の値を指定します。

This value is exposed via the kernel.build_dir configuration parameter and the getBuildDir() method. To change this setting, override the getBuildDir() method to return the correct build directory.

この値は、kernel.build_dir 構成パラメーターと getBuildDir() メソッドを介して公開されます。この設定を変更するには、getBuildDir() メソッドをオーバーライドして正しいビルド ディレクトリを返します。

Log Directory

type: string default: $this->getProjectDir()/var/log

タイプ: 文字列 デフォルト: $this->getProjectDir()/var/log

This returns the absolute path of the log directory of your Symfony project. It's calculated automatically based on the current environment.

これは、Symfony プロジェクトのログ ディレクトリの絶対パスを返します。これは、現在の環境に基づいて自動的に計算されます。

This value is exposed via the kernel.logs_dir configuration parameter and the getLogDir() method. To change this setting, override the getLogDir() method to return the right log directory.

この値は、kernel.logs_dir 構成パラメーターと getLogDir() メソッドを介して公開されます。この設定を変更するには、getLogDir() メソッドをオーバーライドして、rightlog ディレクトリを返します。

Container Build Time

type: string default: the result of executing time()

タイプ: 文字列 デフォルト: time() の実行結果

Symfony follows the reproducible builds philosophy, which ensures that the result of compiling the exact same source code doesn't produce different results. This helps checking that a given binary or executable code was compiled from some trusted source code.

symfony は再現可能なビルドの哲学に従います。これにより、まったく同じソース コードをコンパイルした結果が異なる結果を生成しないことが保証されます。これは、特定のバイナリ コードまたは実行可能コードが信頼できるソース コードからコンパイルされたことを確認するのに役立ちます。

In practice, the compiled service container of your application will always be the same if you don't change its source code. This is exposed via these configuration parameters:

実際には、アプリケーションのコンパイル済みサービス コンテナーは、ソース コードを変更しない限り、常に同じです。これは、次の構成パラメーターを介して公開されます。
  • container.build_hash, a hash of the contents of all your source files;
    container.build_hash、すべてのソース ファイルのコンテンツのハッシュ。
  • container.build_time, a timestamp of the moment when the container was built (the result of executing PHP's time function);
    container.build_time、コンテナが構築された瞬間のタイムスタンプ (PHP の time 関数を実行した結果);
  • container.build_id, the result of merging the two previous parameters and encoding the result using CRC32.
    前の 2 つのパラメーターをマージし、CRC32 を使用して結果をエンコードした結果の container.build_id。

Since the container.build_time value will change every time you compile the application, the build will not be strictly reproducible. If you care about this, the solution is to use another configuration parameter called kernel.container_build_time and set it to a non-changing build time to achieve a strict reproducible build:

アプリケーションをコンパイルするたびに container.build_time の値が変わるため、ビルドを厳密に再現することはできません。これを気にする場合、解決策は、kernel.container_build_time と呼ばれる別の構成パラメーターを使用し、変更されないビルド時間に設定して、厳密に再現可能なビルドを実現することです。
  • YAML
    YAML
  • XML
    XML
  • PHP
    PHP
1
2
3
4
# config/services.yaml
parameters:
    # ...
    kernel.container_build_time: '1234567890'