- потому что твиг - в отличие от smarty который тупо транслирует написанное в php-код, - гарантирует отсутствие fatal errors в шаблоне, и абстрагирует верстку от вопроса php-шных типов данных.и вот почему
Вот это кстати суперская фича, учитывая что шаблоны часто пишет верстальщик, у меня в проекте просто отвалилась часть страницы, вместо 500.гарантирует отсутствие fatal errors в шаблоне
Давай посмотрим правде в глаза на компиляцию контейнера в Symfony? Сначала выполняется проход, который выполняет все экстеншены и собирает их конфиги в один. Далее идет еще N проходов, каждый из которых может добавлять в контейнер свои свистелки и перделки. Если в каком-то из экстеншенов или пассов находится гавнокод, который считает числа фибоначчи через базу данных, то будет тормозить и вся компиляция.Я вот, если честно, задолбался ждать в dev-режиме ответы от сервера, когда контейнер компилируется секунду-полторы.
http://www.smarty.net/docs/en/language.function.foreach.tplindex* переменные внутри циклов, нормальная документация
http://www.smarty.net/docs/en/language.modifier.escape.tpl(я ничего толкового про экранирование в смарти так и не наглулил) уделывают смарти.
оО а в твиге сложные? Их просто нужно оборачивать в new Twig_Filter и тд.И, кстати, писать плагины для смарти гораздо проще (ибо это простые функции), чем для твига.
Да хоть десять. Изменения контейнера - вещь довольно редкая.Я вот, если честно, задолбался ждать в dev-режиме ответы от сервера, когда контейнер компилируется секунду-полторы.