Ребята заранее извиняюсь за тупой вопрос. читаю сейчас про SMARTY. Немного непонятен механизм. Чем это отличаеться от того если бы я просто вставлял в РНР код переменные. И присваивал бы им какой то HTML код? Объясните пожалуйсто кто шарит в этом. Заренее спасибо.
Нет в шаблонах смарти как раз логика присутствует - циклический вывод, проверка условий. Правда, смарти все равно компилируется в PHP код.
ИМХО Смарти - мутант с огромным количеством ненужного функционала. тогда почему-бы сразу не использовать php в качестве шаблонизатора?
А я использую свой 6Кб класс, даны не интерпритировать кучу ненужного кода и функционала для моих шаблонов. Логика в шаблонах противоречит принципу дизайна ИМХО. Поэтому у меня класс только загружает, составляет шаблон для замены и парсит его. По сравнению со Smarty не нагружен тем, что мне не нужно и работает, соответственно, быстрее.
Стоп, а как в шаблонах без логики? Например форум - IPB, там в зависимости от того, зашел ты или остался гостем, показывает разные панели сверху - потзовательскую и гостевую. Именно в шаблоне должна задаваться такая примитивная логика, если обходится без нее - нужно писать куда больше мелких шаблонов, а бизнес-логика будет забида такими мелочами. Со смарти ты можешь создать шаблон main.tpl, который базируясь на примитивную логику и другие шаблоны, создаст целую страницу, а в бизнес-логике останется только назначить управляющие переменные. Правда я тоже подумываю о том, чтобы написать под себя Smarty Light - смарти в котором остануться только цикл for/for-each, if-elseif-else, import, а все функции и другие структуры будут удалены.