twig: кеширование и динамический контент

В настоящее время я разрабатываю приложение на основе symfony2. Я впервые имею дело с этим фреймворком, и у меня есть вопрос относительно кэширования шаблонов веток.

Как он управляет шаблонами с динамическим содержимым? Скажем, у вас есть шаблон с этим кодом где-то в нем:

{% for i in messages %}
     i.content
{% endfor %}

Я предполагаю, что это не может быть кэшировано как есть, поэтому twig что-то с этим делает? Я спрашиваю, потому что начинаю думать, что этот тип кода вообще не кэшируется, и дело в том, что я делал это почти везде в своем приложении. Так что, возможно, возвращение к простому PHP даст мне большую производительность. В настоящее время движок twig берет на себя половину генерации страниц! Если бы кто-то мог посоветовать мне это, это было бы здорово!

Спасибо за ваши ответы и извините за мой английский. Ваше здоровье


person fred_kp    schedule 26.05.2013    source источник


Ответы (1)


Если ваш вопрос касается только кэширования скомпилированных шаблонов веток, то файлы .twig компилируются в простые файлы php каждый раз, когда страница обрабатывается в среде разработки. В среде prod они компилируются только один раз. Вы можете проверить папку app/cache, чтобы увидеть результирующие файлы php. Полностью выбор механизма шаблонов не имеет значения в рабочей среде.

Если вы спрашиваете о кэшировании результатов html или частей контроллера, прочитайте об этом в официальной документации.

person Alexey B.    schedule 26.05.2013
comment
Хорошо, теперь я понял! Моя ошибка заключалась в том, что я думал, что файлы скомпилированы в обычный html. Большое спасибо. - person fred_kp; 27.05.2013