Справочник конфигурации 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
.