Какой шаблонизатор взять для нового проекта на php?

Многие по-инерции используют Smarty, кто-то пробует Twig, кто-то — экзотический Blitz, вот хочется узнать мнение общественности.


Blitz на мой взгляд имеет существенный недостаток — высокие трудозатраты на разработку, так как требуется плотное взаимодействие дизайнера и программиста для изменений и для быстрой разработки/прототипирования, на мой взгляд, не очень подходит.


Из Smarty-подобных систем мне же известен только Twig, быть может есть еще хорошие варианты? От шаблонизатора хочется объектности и расширяемости.
  • Вопрос задан
  • 10400 просмотров
Пригласить эксперта
Ответы на вопрос 12
Хороший шаблонизатор, идеально интегрирующийся с PHP называется… PHP :) В шаблонах удобно использование альтернативного синтаксиса.
Ответ написан
seriyPS
@seriyPS
XSLT советую. Для него можно XML-ку собрать каким нить SimpleXML — очень удобно. Каждый модуль проекта может в один и тот же объект SimpleXML вставлять свои данные а потом XSLT уже выбирает то, что ему нужно.

Из плюсов — хорошо переносится между языками (если вдруг понадобится), можно с помощью тех — же XSLT попробовать реализовать REST API. Да просто довольно правильный стиль навязывает при создании шаблонов. Опять же, для NGINX есть модули для XSL трансформации внутри него (хотя смысла делать шаблонизацию внутри легкого асинхронного веб-сервера я лично не вижу)

Если умудриться распарсенные шаблоны каким-то образом сохранять в памяти между запросами (на PHP трудно реализуемо пожалуй) то вообще летать будет.
Ответ написан
azproduction
@azproduction
Twig — наследование шаблонов, компиляция шаблонов в читабильный вид (класс), все лучшее от Smarty, sandbox, авто экранирование строк, есть готовые классы для интеграции практически во всех фрэймворках. Blitz — очень не удобно работать с шаблонами, мне показался очень тугим для разработки. Скорость Blitz… это сомнительное преимущество, — компилированные шаблоны твига + eAccelerator не будут уступать Blitzу.
Ответ написан
Комментировать
zorba_buddha
@zorba_buddha
IT
всё время удивляло почему в PHP люди ищут какие-то шаблонизаторы.
сам язык — мощнейший шаблонизатор.

всё остальное, кроме XSLT+XML — от лукавого.
Ответ написан
Комментировать
@Thomas
Может посмотрите в сторону XSLT? Очень высокая отделяемость кода от представления. По скорости помедленней наверно будет чем вышеописанные. Но удобство работы с ним часто перечеркивает все минусы.
Ответ написан
@Demetros
CTPP2

Плюсы:
— высокая скорость работы
— расширяемость (можно добавлять свои функции)
— один набор данных для шаблонизации на сервере и на клиенте (JSON)
— недавно появился модуль для шаблонизации силами nginx, он пока не production-ready, но думаю быстро станет таковым
Ответ написан
s5656
@s5656
никакой, использовать нативные шаблоны
Ответ написан
Комментировать
mayhem
@mayhem
никак не пойму чем шаблонизаторы на пыхе лучше и удобнее самого пыха.
Ответ написан
developer
@developer
Quicky:
habrahabr.ru/blogs/php/45337/
code.google.com/p/quicky/wiki/Manual
у меня в опубликованных есть еще обзоры квики. я пользуюсь уже 2 года
Ответ написан
Комментировать
akzhan
@akzhan
Сейчас очень многие смотрят в сторону HAML + SASS.

Эти языки пришли из мира Ruby и сейчас есть их адаптации практически для всех значимых языков.

Например, для PHP можно смотреть phphaml.sourceforge.net/, www.yiiframework.com/extension/haml-and-sass/ и так далее.
Ответ написан
Vertex
@Vertex
Еще один плюс в сторону Smarty: Eclipse + Smarty Plugin = фришная и удобная связка. После перехода на Mac это единственное комфортное IDE для пыха.

Общее отвечу для тех кто отписывает что «PHP сам хороший шаблонизатор»:
Вы или не работали с крупными проектами, или я сочувствую тем кто их поддерживает. Разделение логики и представления по дефолту должно быть. XSLT+XML — подходит; Smarty, Twig — тоже. А вот КОД в HTML — это реально от лукавъго.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
29 мар. 2024, в 10:00
10000 руб./за проект
29 мар. 2024, в 09:59
750 руб./в час
29 мар. 2024, в 09:55
50000 руб./за проект