john.brown
просто кулибин
Да, ссылочка SiMM'а неплохая, и для общего понимания, как оно отделяется, полезна. Но вот с идеологической установкой автора, что самый лучший язык шаблонов - это пхп, советовал бы неувлекаться.
Поясню почему. Сам долгое время пользовал пхп, как шаблонный язык. Но потом понял, что происходит следующее - с начала мы говорим "ну что же плохого включить в шаблон условия". И включаем их. Вроде так просто и понятно:
Потом обнаруживаем, что кое что надо выводить в цикле, и делаем одно из двух - или дробим шаблон на подшаблоны, и инклудим их в цикле, или уже пишем цикл в самом шаблоне. Вроде тоже ничего страшного, и дизайнеру как то втюхаем, что такое цикл, и с чем его едят 
А дальше - больше. Еще находится масса вещей, которые, как нам кажется, круто делать в шаблоне - всякие каллбэки, вычисления и.т.д. И незаметно шаблоны начинают напоминать пуре пхтмл, токмо в извращенной форме. И тут встаем в тупик - учить дизайнера пхп, или самим писать шаблоны...
В результате я пришел к выводу, что шаблонный движек нужен. И конечно, это не должен быть смарти, или что то подобное, ибо пхп на пхп не есть гуд. Имхо, шаблонный движек должен уметь две вещи - распознавать и показывать блоки шаблона, и подменять переменные шаблона. Вся логика (условия, циклы, и.т.д.) должна находится в view. Да, это делает вид несколько тяжеловесным, но все это сопровождать становится намного проще и удобнее.
П.С. может, несколько не к месту все это написал, но что то задела ссылочка за живое
Поясню почему. Сам долгое время пользовал пхп, как шаблонный язык. Но потом понял, что происходит следующее - с начала мы говорим "ну что же плохого включить в шаблон условия". И включаем их. Вроде так просто и понятно:
PHP:
<? if ($text==""): ?>
Текста нет, пусто.
<? else: ?>
Введеный текст: <b><?=$text;?></b>
<? endif; ?>

А дальше - больше. Еще находится масса вещей, которые, как нам кажется, круто делать в шаблоне - всякие каллбэки, вычисления и.т.д. И незаметно шаблоны начинают напоминать пуре пхтмл, токмо в извращенной форме. И тут встаем в тупик - учить дизайнера пхп, или самим писать шаблоны...
В результате я пришел к выводу, что шаблонный движек нужен. И конечно, это не должен быть смарти, или что то подобное, ибо пхп на пхп не есть гуд. Имхо, шаблонный движек должен уметь две вещи - распознавать и показывать блоки шаблона, и подменять переменные шаблона. Вся логика (условия, циклы, и.т.д.) должна находится в view. Да, это делает вид несколько тяжеловесным, но все это сопровождать становится намного проще и удобнее.
П.С. может, несколько не к месту все это написал, но что то задела ссылочка за живое
