Twig. Макросы, include и расширенные возможности
Макросы (аналог функций в шаблонах)
macros.html.twig
{% macro alert(type, message) %}
    <div class="alert alert-{{ type }}">{{ message }}</div>
{% endmacro %}
{% from "macros.html.twig" import alert %}Использование:
{{ alert('success', 'Данные сохранены!') }}Включение шаблонов (include)
{% include 'header.html.twig' %}
{% include 'user/card.html.twig' with {'user': current_user} %}Глобальные переменные и функции
Можно добавить свои:
$twig->addGlobal('site_name', 'Мой Сайт');
$twig->addFunction(new \Twig\TwigFunction('sum', function ($a, $b) {
    return $a + $b;
}));В шаблоне:
{{ site_name }}
{{ sum(2, 3) }}🧠 Советы:
- Всегда используйте экранирование: {{ user_input|e }}или включите autoescape.
- Twig автоматически экранирует HTML по умолчанию (если включено).
- Для отладки — используйте {{ dump() }}.
Share this content:
 
								


 
                                     
                                     
                                     
                                     
                                     
                                     
                                     
                                     
                                     
                                    
Отправить комментарий