Twig Configuration Reference (TwigBundle)

The TwigBundle integrates the Twig library in Symfony applications to render templates. All these options are configured under the twig key in your application configuration.

TwigBundle は、Twig ライブラリを Symfony アプリケーションの torender テンプレートに統合します。これらのオプションはすべて、アプリケーション構成の twig キーの下で構成されます。
1
2
3
4
5
# displays the default config values defined by Symfony
$ php bin/console config:dump-reference twig

# displays the actual config values used by your application
$ php bin/console debug:config twig

Note

ノート

When using XML, you must use the http://symfony.com/schema/dic/twig namespace and the related XSD schema is available at: https://symfony.com/schema/dic/twig/twig-1.0.xsd

XML を使用する場合、http://symfony.com/schema/dic/twignamespace を使用する必要があり、関連する XSD スキーマは https://symfony.com/schema/dic/twig/twig-1.0.xsd で入手できます。

Configuration

auto_reload

type: boolean default: %kernel.debug%

タイプ: ブール デフォルト: %kernel.debug%

If true, whenever a template is rendered, Symfony checks first if its source code has changed since it was compiled. If it has changed, the template is compiled again automatically.

true の場合、テンプレートがレンダリングされるたびに、Symfony はコンパイル後にソースコードが変更されたかどうかを最初にチェックします。変更されている場合、テンプレートは自動的に再コンパイルされます。

autoescape

6.1

6.1

This option is deprecated since Symfony 6.1. If required, use the autoescape_service or autoescape_service_method option instead.

このオプションは Symfony 6.1 以降非推奨です。必要に応じて、代わりに autoescape_service または autoescape_service_method オプションを使用してください。

type: boolean or string default: 'name'

タイプ: ブール値または文字列 デフォルト: 'name'

If set to false, automatic escaping is disabled (you can still escape each content individually in the templates).

false に設定すると、自動エスケープが無効になります (テンプレート内の各コンテンツを個別にエスケープできます)。

Caution

注意

Setting this option to false is dangerous and it will make your application vulnerable to XSS attacks because most third-party bundles assume that auto-escaping is enabled and they don't escape contents themselves.

このオプションを false に設定することは危険であり、アプリケーションが XSS 攻撃に対して脆弱になります。これは、ほとんどのサードパーティ バンドルが自動エスケープが有効であると想定し、コンテンツ自体をエスケープしないためです。

If set to a string, the template contents are escaped using the strategy with that name. Allowed values are html, js, css, url, html_attr and name. The default value is name. This strategy escapes contents according to the template name extension (e.g. it uses html for *.html.twig templates and js for *.js.twig templates).

文字列に設定すると、テンプレートの内容はその名前の戦略を使用してエスケープされます。許可される値は、html、js、css、url、html_attrand 名です。デフォルト値は名前です。この戦略は、テンプレート名の拡張子に従ってコンテンツをエスケープします (たとえば、*.html.twigtemplates には html を使用し、*.js.twig テンプレートには js を使用します)。

Tip

ヒント

See autoescape_service and autoescape_service_method to define your own escaping strategy.

独自のエスケープ戦略を定義するには、autoescape_service と autoescape_service_method を参照してください。

autoescape_service

type: string default: null

タイプ: 文字列 デフォルト: null

As of Twig 1.17, the escaping strategy applied by default to the template is determined during compilation time based on the filename of the template. This means for example that the contents of a *.html.twig template are escaped for HTML and the contents of *.js.twig are escaped for JavaScript.

Twig 1.17 の時点で、デフォルトでテンプレートに適用されるエスケープ戦略は、テンプレートのファイル名に基づいてコンパイル時に決定されます。これは、たとえば、*.html.twig テンプレートのコンテンツは HTML 用にエスケープされ、*.js.twig のコンテンツは JavaScript 用にエスケープされることを意味します。

This option allows to define the Symfony service which will be used to determine the default escaping applied to the template.

このオプションを使用すると、テンプレートに適用されるデフォルトのエスケープを決定するために使用される Symfony サービスを定義できます。

autoescape_service_method

type: string default: null

タイプ: 文字列 デフォルト: null

If autoescape_service option is defined, then this option defines the method called to determine the default escaping applied to the template.

autoescape_service オプションが定義されている場合、このオプションは、テンプレートに適用されるデフォルトのエスケープを決定するために呼び出されるメソッドを定義します。

base_template_class

type: string default: 'Twig\Template'

タイプ: 文字列 デフォルト: 'Twig\Template'

Twig templates are compiled into PHP classes before using them to render contents. This option defines the base class from which all the template classes extend. Using a custom base template is discouraged because it will make your application harder to maintain.

Twig テンプレートは、コンテンツのレンダリングに使用する前に PHP クラスにコンパイルされます。このオプションは、すべてのテンプレート クラスの拡張元となる基本クラスを定義します。アプリケーションの保守が難しくなるため、カスタム ベース テンプレートの使用はお勧めできません。

cache

type: string | false default: '%kernel.cache_dir%/twig'

タイプ: 文字列 | false デフォルト: '%kernel.cache_dir%/twig'

Before using the Twig templates to render some contents, they are compiled into regular PHP code. Compilation is a costly process, so the result is cached in the directory defined by this configuration option.

Twig テンプレートを使用して一部のコンテンツをレンダリングする前に、通常の PHP コードにコンパイルされます。コンパイルはコストのかかるプロセスであるため、結果はこの構成オプションで定義されたディレクトリにキャッシュされます。

Set this option to false to disable Twig template compilation. However, this is not recommended; not even in the dev environment, because the auto_reload option ensures that cached templates which have changed get compiled again.

Twig テンプレートのコンパイルを無効にするには、このオプションを false に設定します。ただし、これは推奨されません。 auto_reload オプションにより、変更されたキャッシュされたテンプレートが再度コンパイルされることが保証されるため、開発環境でさえありません。

charset

type: string default: '%kernel.charset%'

タイプ: 文字列 デフォルト: '%kernel.charset%'

The charset used by the template files. By default it's the same as the value of the kernel.charset container parameter, which is UTF-8 by default in Symfony applications.

テンプレート ファイルで使用される文字セット。デフォルトでは、Symfony アプリケーションではデフォルトで UTF-8 である kernel.charset コンテナ パラメータの値と同じです。

date

These options define the default values used by the date filter to format date and time values. They are useful to avoid passing the same arguments on every date filter call.

これらのオプションは、日付フィルターが日付と時刻の値をフォーマットするために使用するデフォルト値を定義します。これらは、日付フィルター呼び出しごとに同じ引数を渡さないようにするのに役立ちます。

format

type: string default: F j, Y H:i

タイプ: 文字列 デフォルト: F j, Y H:i

The format used by the date filter to display values when no specific format is passed as an argument.

特定の形式が引数として渡されない場合に値を表示するために日付フィルターによって使用される形式。

interval_format

type: string default: %d days

タイプ: 文字列 デフォルト: %d 日

The format used by the date filter to display DateInterval instances when no specific format is passed as argument.

特定の形式が引数として渡されない場合に DateInterval インスタンスを表示するために日付フィルターによって使用される形式。

timezone

type: string default: (the value returned by date_default_timezone_get())

タイプ: 文字列 デフォルト: (date_default_timezone_get() によって返される値)

The timezone used when formatting date values with the date filter and no specific timezone is passed as an argument.

日付フィルターを使用して日付値をフォーマットし、特定のタイムゾーンを指定しない場合に使用されるタイムゾーンが引数として渡されます。

debug

type: boolean default: %kernel.debug%

タイプ: ブール デフォルト: %kernel.debug%

If true, the compiled templates include a __toString() method that can be used to display their nodes.

true の場合、コンパイルされたテンプレートには、ノードの表示に使用できる __toString() メソッドが含まれます。

default_path

type: string default: '%kernel.project_dir%/templates'

タイプ: 文字列 デフォルト: '%kernel.project_dir%/templates'

The path to the directory where Symfony will look for the application Twig templates by default. If you store the templates in more than one directory, use the paths option too.

Symfony がデフォルトでアプリケーションの Twigtemplates を探すディレクトリへのパス。テンプレートを複数のディレクトリに保存する場合は、パス オプションも使用します。

file_name_pattern

type: string or array of string default: []

タイプ: 文字列または文字列の配列 デフォルト: []

6.1

6.1

The file_name_pattern option was introduced in Symfony 6.1.

file_name_pattern オプションは Symfony 6.1 で導入されました。

Some applications store their front-end assets in the same directory as Twig templates. The lint:twig command filters those files to only lint the ones that match the *.twig filename pattern.

一部のアプリケーションは、フロントエンド アセットを Twigtemplates と同じディレクトリに保存します。 lint:twig コマンドは、これらのファイルをフィルタリングして、*.twig ファイル名パターンに一致するファイルのみをリントします。

However, the cache:warmup command tries to compile all files, including non-Twig templates (and it ignores compilation errors). The result is an unnecessary consumption of CPU and disk resources.

ただし、cache:warmup コマンドは、Twig 以外のテンプレートを含むすべてのファイルをコンパイルしようとします (コンパイル エラーは無視されます)。その結果、CPU とディスク リソースが不必要に消費されます。

In those cases, use this option to define the filename pattern(s) of the files that are Twig templates (the rest of files will be ignored by cache:warmup). The value of this option can be a regular expression, a glob, or a string:

そのような場合、このオプションを使用して、Twig テンプレートであるファイルのファイル名パターンを定義します (残りのファイルは cache:warmup によって無視されます)。このオプションの値は、正規表現、グロブ、または文字列:
  • YAML
    YAML
  • XML
    XML
  • PHP
    PHP
1
2
3
4
# config/packages/twig.yaml
twig:
    file_name_pattern: ['*.twig', 'specific_file.html']
    # ...

form_themes

type: array of string default: ['form_div_layout.html.twig']

タイプ: 文字列の配列 デフォルト: ['form_div_layout.html.twig']

Defines one or more form themes which are applied to all the forms of the application:

アプリケーションのすべてのフォームに適用される 1 つ以上のフォーム テーマを定義します。
  • YAML
    YAML
  • XML
    XML
  • PHP
    PHP
1
2
3
4
# config/packages/twig.yaml
twig:
    form_themes: ['bootstrap_5_layout.html.twig', 'form/my_theme.html.twig']
    # ...

The order in which themes are defined is important because each theme overrides all the previous one. When rendering a form field whose block is not defined in the form theme, Symfony falls back to the previous themes until the first one.

各テーマは前のテーマをすべてオーバーライドするため、テーマを定義する順序は重要です。フォームテーマでブロックが定義されていないフォームフィールドをレンダリングするとき、Symfony は最初のテーマまで前のテーマにフォールバックします。

These global themes are applied to all forms, even those which use the form_theme Twig tag, but you can disable global themes for specific forms.

これらのグローバル テーマは、form_theme Twig タグを使用するものも含め、すべてのフォームに適用されますが、特定のフォームに対してグローバル テーマを無効にすることができます。

globals

type: array default: []

タイプ: 配列 デフォルト: []

It defines the global variables injected automatically into all Twig templates. Learn more about Twig global variables.

これは、すべての Twig テンプレートに自動的に挿入されるグローバル変数を定義します。Twig グローバル変数の詳細については、こちらをご覧ください。

mailer

html_to_text_converter

type: string default: ````

タイプ: 文字列 デフォルト: ````

6.2

6.2

The html_to_text_converter option was introduced in Symfony 6.2.

html_to_text_converter オプションは Symfony 6.2 で導入されました。

The service implementing HtmlToTextConverterInterface that will be used to automatically create the text part of an email from its HTML contents when not explicitly defined.

明示的に定義されていない場合に、HTML コンテンツから電子メールのテキスト部分を自動的に作成するために使用される HtmlToTextConverterInterface を実装するサービス。

number_format

These options define the default values used by the number_format filter to format numeric values. They are useful to avoid passing the same arguments on every number_format filter call.

これらのオプションは、number_format フィルターが数値をフォーマットするために使用するデフォルト値を定義します。 number_format フィルター呼び出しごとに同じ引数を渡さないようにするのに役立ちます。

decimals

type: integer default: 0

タイプ: 整数 デフォルト: 0

The number of decimals used to format numeric values when no specific number is passed as argument to the number_format filter.

特定の数値が引数として number_format フィルターに渡されない場合に、数値をフォーマットするために使用される小数点以下の桁数。

decimal_point

type: string default: .

タイプ: 文字列 デフォルト: .

The character used to separate the decimals from the integer part of numeric values when no specific character is passed as argument to the number_format filter.

特定の文字が引数として number_formatfilter に渡されない場合に、数値の整数部分から小数を区切るために使用される文字。

thousands_separator

type: string default: ,

タイプ: 文字列 デフォルト: ,

The character used to separate every group of thousands in numeric values when no specific character is passed as argument to the number_format filter.

特定の文字が引数として number_format フィルターに渡されない場合に、数値の千単位のグループを区切るために使用される文字。

optimizations

type: integer default: -1

タイプ: 整数 デフォルト: -1

Twig includes an extension called optimizer which is enabled by default in Symfony applications. This extension analyzes the templates to optimize them when being compiled. For example, if your template doesn't use the special loop variable inside a for tag, this extension removes the initialization of that unused variable.

Twig には、Symfony アプリケーションでデフォルトで有効になっているオプティマイザーと呼ばれる拡張機能が含まれています。この拡張機能は、コンパイル時にテンプレートを分析して最適化します。たとえば、テンプレートが for タグ内で特別なループ変数を使用していない場合、この拡張機能は未使用の変数の初期化を削除します。

By default, this option is -1, which means that all optimizations are turned on. Set it to 0 to disable all the optimizations. You can even enable or disable these optimizations selectively, as explained in the Twig documentation about the optimizer extension.

デフォルトでは、このオプションは -1 です。これは、すべての最適化がオンになっていることを意味します。すべての最適化を無効にするには、0 に設定します。オプティマイザ拡張機能に関する Twig ドキュメントで説明されているように、これらの最適化を選択的に有効または無効にすることもできます。

paths

type: array default: null

タイプ: 配列 デフォルト: null

Defines the directories where application templates are stored in addition to the directory defined in the default_path option:

default_path オプションで定義されたディレクトリに加えて、アプリケーション テンプレートが格納されるディレクトリを定義します。
  • YAML
    YAML
  • XML
    XML
  • PHP
    PHP
1
2
3
4
5
6
# config/packages/twig.yaml
twig:
    # ...
    paths:
        'email/default/templates': ~
        'backend/templates': 'admin'

Read more about template directories and namespaces.

テンプレート ディレクトリと名前空間の詳細については、こちらをご覧ください。

strict_variables

type: boolean default: %kernel.debug%

タイプ: ブール デフォルト: %kernel.debug%

If set to true, Symfony shows an exception whenever a Twig variable, attribute or method doesn't exist. If set to false these errors are ignored and the non-existing values are replaced by null.

true に設定すると、Symfony は Twig 変数、属性、またはメソッドが存在しない場合は常に例外を表示します。 false に設定すると、これらのエラーは無視され、存在しない値は null に置き換えられます。