Template Engine for PHP
Пару недель назад разобрался со Smarty, неделю спустя он начал меня жутко раздражать и появилось желание написать свой шаблонизатор. Хотельсь бы узнать ваше мнение по этому поводу.
Возможно Zend_View кото-то пользовал, буду рад если вы оставите свой отзыв об этом движке. |
писал я на своей предыдущей работе шаблонизатор
потом возникла проблема, что надо как-то перепоручать верстку левым людям, не отдавая им движок я поднял с полки самопальный шаблонизатор в полдесятка строк, чуть доработал, чтобы принцип шаблонизации был похож на большой движек как итог, этот мини-шаблонизатор они до сих пор используют, и кажется не менее активно, чем основной |
Вот я тоже решил облегчённую версию придумать, синтаксис как и у Smarty будет. Сейчас реализована поддержка переменных, атрибутов default, инклуды, достовно интерпретируемые блоки, вставка ПХП кода и файлы конфигураций. Ещё нужно с кеширование и компиляцией шаблонов разобраться, регулярные выражения оптимизировать и думаю этого вполне хватит. На кой в Smarty такое колличество инструкций вообще не понятно, можно просто обработку ПХП в шаблонах использовать.
Допишу - буду со Smarty скоростями мерятся, посмотрим кто быстрее. |
Цитата:
|
а что скажешь про blitz? Интересует подход (минимальная область соприкосновения верстальщика и программиста), а не производительность (статья если не читал)
|
Цитата:
Некоторые вещи, согласен, с Zend_View не сделаешь, но есть еще Zend_Layout. |
x-yuri,
Прочитал статью о blitz, мне кажется идеи очень хорошие. Сложносочинённые конструкции в шаблонах не только верстальщику жизнь усложняют, потом и программисту, чтобы логику понять, приходится в HTML лазать. К Zend Framework я тоже присмотрелся - вешь очень хорошая. Свой шаблонизатор всё же допишу. Возможно это не самая лучшая позиция, но я не люблю чужой код, особенно в таких объёмах как у Smarty и прочих шаблонизаторов. |
Цитата:
Но этот чувак заставил меня сомневаться. В какой-то степени потому, что он достаточно опытный. А его взгляд на шаблонизаторы скорее со стороны менеджера, чем программиста. Как я понимаю: каждый должен заниматься своим делом, смежные области должны быть минимизированы. Если версткой занимается программист, может native php/Zend_View/smarty и лучше. Но если есть отдельный верстальщик... Кроме того, это логичное продолжение принципа "разделяй и властвуй": ведь css почему-то в отдельный файл выносят. Хотя в простых случаях удобнее когда css смешан с html (не надо переключаться на другой файл, можно прямо в html все исправить), но обычно все не так просто и лучше не смешивать эти вещи а в блочных шаблонизаторах никакого языка-то ведь и нету: в основном есть просто блоки и подстановка переменных |
Не надо смешивать логику шаблона и логику приложения. То, что шаблон на другом языке еще не значит, что он не будет вмешиваться в логику приложения. А если у шаблона будет мало возможностей, то приложению придется вмешиваться в логику шаблона.
Статью я, честно говоря, ниасилил. Слишком много строчных букаф, да и мыслью растекается по дереву. (Кстати, Gvozd, типичный клинический случай твоего стиля написания текста. Читать невозможно вообще.) |
Цитата:
К сожалению не смог оценить статью, потому что страница вешает оперу на пару секунд, при малейшей попытке прокрутки текста. |
Часовой пояс GMT +3, время: 10:10. |