Месяц: Сентябрь 2012

Вкусности twig

Не могу не поделиться. На форуме phpclub.ru задавал вопрос о том, чтоб бы посмотреть по шаблонизатору Twig. И пользователь fixxxer дал замечательную подборку ссылок. Макросы в QuickForm2 http://svn.php.net/viewvc/pear/pack…es/array-twig.tpl?revision=325495&view=markup Вывод дерева (обезличенный продакшен код ({% url .. %} — мой кастомный тэг, вставляет вызовы UrlBuilder-а в момент компиляции) http://pastebin.com/PdVbMM2b Наследование: с обычным все понятно, horizontal reuse позволяет реюзать код, когда, например, встречаются 1, 2 и 3-колоночные варианты одинаковых в остальном страниц — пример с сайдбаром в доке вполне наглядный. Человеческий эскейпинг и автоэскейпинг с понятием стратегии (в смарти — хардкод, при этом отменить экскейпинг в общем случае нельзя — есть только возможность отменить все фильтры вообще) Человеческое консистентное апи для всего: фильтров, функций, compile-time тэгов (где можно нормально работать, а не конвертить, как в смарти, обратно уже изговнянные приведением к кускам пхп-кода параметры). Можно легко сделать свой загрузчик — например, так я читаю из моделей пользовательские шаблоны. Внутри твига все сделано на том же API, в отличие от смарти. Легко через Environment протащить что угодно, в отличие от, опять же, смарти, где я не находил ничего лучше, чем срать в internal config properties. Еще можно посмотреть рецепты всяких полезных штучек.

Читать далее »