В настоящее время я пишу несколько расширений в ветке, но у меня возникают проблемы с решением вопроса о том, почему некоторое расширение должно быть реализовано как тег или функция.Теги vs functions in twig extensions
Twig-х documentation перечисляет следующие 2 конструкции и что они делают:
{{ }}
: используется для печати результата оценки экспрессии;{% %}
: используется для выполнения операторов.
Я планирую реализовать что-то похожее на symfony2's embedded controllers.
Почему это, что функция реализована как:
{% render "AcmeDemoBundle:Demo:fancy" with { 'name': name, 'color': 'green' } %}
Поскольку встроенная функция контроллеров должны возвращать полностью обработанный шаблон для запрашиваемого контроллера, не функция будет более подходящей?
render("AcmeDemoBundle:Demo:fancy", { 'name': name, 'color': 'green' });