Справочник конфигурации Twig (TwigBundle)

Дата обновления перевода 2024-07-25

Справочник конфигурации Twig (TwigBundle)

TwigBundle интегрирует библиотеку Twig в приложения Symfony, чтобы отображать шаблоны . Все эти опции конфигурируются под ключом twig в конфигурации вашего приложения.

1
2
3
4
5
# отображает значения кофнигурации по умолчанию определенные Symfony
$ php bin/console config:dump-reference twig

# отображает реальные значения конфигурации, используемые вашим приложением
$ php bin/console debug:config twig

Note

При использованиии XML, вы должны использовать пространство имен http://symfony.com/schema/dic/twig, а связанная XSD-схема доступна тут: https://symfony.com/schema/dic/twig/twig-1.0.xsd

Конфигурация

auto_reload

тип: boolean по умолчанию: %kernel.debug%

Если true, то каждый раз при отображении шаблона Symfony вначале проверяет, изменился ли исходный код после последней компиляции. Если изменился, то шаблон компилируется снова автоматически.

autoescape_service

тип: string по умолчанию: null

Стратегия экранирования, применяемая по умолчанию к шаблону, определяется во время компиляции на основе имени файла шаблона. Это означает, что, например что содержание шаблона *.html.twig экранируется для HTML, а содержание
*.js.twig - для JavaScript.

Эта опция позволяет определить сервис Symfony, который будет использован, чтобы определить экранирование по умолчанию, применённое к шаблону.

autoescape_service_method

тип: string по умолчанию: null

Если определена опция autoescape_service, то эта опция определяет метод, вызываемый для определения экранирования по умолчанию, применённого к шаблону.

Если сервис, определённый в autoescape_service, является вызываемым (т.е. определяет `магический метод __invoke() PHP`), то эту опцию можно опустить.

base_template_class

тип: string по умолчанию: Twig\Template

Шаблоны Twig компилируются в PHP-классы до использования их для отображения содержимого. Эта опция определяет базовый класс, из которого расширяются все классы шаблонов. Использование пользовательского базового шаблона не одобряется, так как это усложнит содержание вашео приложения.

cache

тип: string | false по умолчанию: %kernel.cache_dir%/twig

До использования шаблонов Twig для отображения некоторого содержимого, они компилиряются в обычный PHP-код. Компиляция - это затратный процесс, так что результат кешируется в каталог, определённый этой опцией конфигурации.

Установите эту опцию как false, чтоб отключить компиляцию шаблона Twig. Однако, это не рекомендуется; даже в окружении dev, так как опация auto_reload гарантирует, что изменённые кешированные шаблоны будут скомпилированы опять.

charset

тип: string по умолчанию: %kernel.charset%

Набор символов, используемый файлами шаблонов. По умолчанию, это то же значение, что и параметр контейнера kernel.charset , который по умолчанию в приложениях Symfony установлен, как UTF-8.

date

Эти опции определяют значения по умолчанию, используемые фильтром date для форматирования значений даты и времени. Они полезны для избежания передачи одних и тех же аргументов на каждый вызов фильтра date.

format

тип: string по умолчанию: F j, Y H:i

Формат, используемый фильтром date для отображения значений, когда не передан никакой формат в качестве аргумента.

internal_format

тип: string по умолчанию: %d days

Формат, используемый фильтром date для отображения экземпляров DateInterval, когда не передан никакой формат в качестве аргумента.

timezone

тип: string по умолчанию: (значение, возвращённое date_default_timezone_get())

Часовой пояс, используемый, при форматировании значений дат с фильтром date, и когда не передан никакой часовой пояс в качестве аргумента.

debug

тип: boolean по умолчанию: '%kernel.debug%'

Если true, то скомпилированные шаблоны включают в себя метод __toString(), который может быть использован для отображения их узлов.

Эта опция также контролирует поведение утилиты сброса Twig . Если эта опция имеет значение false, то функция dump() не выводит никакого содержания.

default_path

тип: string по умолчанию: %kernel.project_dir%/templates

Путь к каталогу, где Symfony будет искать шаблоны приложения Twig по умолчанию. Если вы храните эти шаблоны более, чем в одном каталоге, используйте также опцию paths .

file_name_pattern

тип: string или array string по умолчанию: []

Некоторые приложения хранят свои фронт-энд активы в том же каталоге, что и шаблоны Twig. Команда lint:twig фильтрует эти файлы, чтобы отделить только те, которые соответствуют паттерну имени файла *.twig.

Однако команда cache:warmup пытается скомпилировать все файлы, включая не относящиеся к шаблонам Twig (и игнорирует ошибки компиляции). В результате мы получаем ненужное потребление ресурсов процессора и диска.

В этих случаях используйте данную опцию для определения шаблона(ов) имён файлов, которые являются шаблонами Twig (остальные файлы будут игнорироваться cache:warmup). Значением этой опции может быть регулярное выражение, глобальное значение или строка:

1
2
3
4
# config/packages/twig.yaml
twig:
    file_name_pattern: ['*.twig', 'specific_file.html']
    # ...

form_themes

тип: array в string по умолчанию: ['form_div_layout.html.twig']

Определяет одну или более тему формы, который применяются ко всем формам приложения:

1
2
3
4
# config/packages/twig.yaml
twig:
    form_themes: ['bootstrap_4_layout.html.twig', 'form/my_theme.html.twig']
    # ...

Порядок, в котором определяется темы, важен, так как каждая тема переопределяет все предыдущие. При отображении поля формы, блок которой не определен в теме формы, Symfony использует предыдущие темы до первой.

Эти глобальные темы применяются ко всем формам, даже к тем, которые используют тег Twig form_theme , но вы можете отключить глобальные темы для конкретных форм .

globals

тип: array по умолчанию: []

Определяет клобальные переменные автоматически внедренные во все шаблоны Twig. Узнайте больше о глобальных переменных Twig.

mailer

html_to_text_converter

тип: string по умолчанию: ````

Сервис, реализующий HtmlToTextConverterInterface, который будет использоваться для автоматического создания текстовой части письма из его HTML-содержания, если оно не определено ясно.

number_format

Эти опции определяет значения по умолчанию, используемые фильтром number_format для форматирования числовых значений. Они полезны для избежаия передачи одних и тех же аргументов по каждому вызову фильтра number_format.

decimals

тип: integer по умолчанию: 0

Количество десятичных знаков, используемых для форматирования числовых значений, когда не передано никакое число в качестве аргумента фильтра number_format.

decimal_point

тип: string по умолчанию: .

Символ, используемый для разделения десятичных знаком от целой части числовых значений, когда не передан никакой конкретный символ в качестве аргумента к фильтру number_format.

thousands_separator

тип: string по умолчанию: ,

Символ, используемый для отделения каждой группы тысяч в числовых зачениях, когда не передан никакой конкретный символ в качестве аргумента к фильтру number_format.

optimizations

тип: integer по умолчанию: -1

Twig включает в себя расширение под названием optimizer, которое подключается по умолчанию в приложениях Symfony. Это расширение анализирует шаблоны для их оптимизации при компиляции. Например, если ваш шаблон не использует специальную переменную loop внутри тега for, то это расширение удаляет инициализацию неиспользованной переменной.

По умолчаниб, эта опция - -1, что означает, что все оптимизации включены. Установите её как 0, чтобы отключить все оптимизации. Вы даже можете включить или отключить эти оптимизации выборочно, как объясняется в документации Twig о расширении оптимизатора.

paths

тип: array по умолчанию: null

Определяет каталоги, где Symfony будет искать шаблоны Twig в дополнение к каталогу, определенному в опции default_path :

1
2
3
4
5
6
# config/packages/twig.yaml
twig:
    # ...
    paths:
        'email/default/templates': ~
        'backend/templates': 'admin'

Прочтите больше о каталогах и пространствах имен шаблонов .

strict_variables

тип: boolean по умолчанию: %kernel.debug%

Если установлена, как true, Symfony отображает исключение каждый раз, когда не существует переменной, атрибута или метода Twig. Если установлена, как false, то эти ошибки игнорируются, а несуществующие значение заменяются null.