Идеята "уж" на тия template системи, както каза VladSun е да имат готови да ги наречем функции, с които да могат лесно, без познания по програмиране да извъртат масиви с информация, да генерират форми и изобщо да могат да правят всякакви глезотии по данните, които идват от контролера. И на второ място - да не им се дава възможност да се пипа извън темплейта. Стигаме дотук с хубавите идеи, оттам нататък ми се губи логиката:
1. Аз до ден днешен като видя сайт със (най-често) smarty и бягам надалеч - така и не можах да свикна със синтаксиса. Общо взето с колкото дизайнери съм работил, на всичките им е по-лесно да научат за 1-2 часа малко php (примерно), колкото да могат да извъртят масив и да направят някоя проста проверка.
2. Всичките глезотийки са елементарни helper-и. Ако времето е толкова скъпо - има хиляди из нета, ако не - пишат се елементарно.
3. Трудно се разширяват, при smarty е абсурдно.
А отностно сигурността - така или иначе ако нямаш доверие на дизайнера, можеш да проверяваш какво се случва в темплейта. А щом е MVC, предполагам имаш някакъв клас, с който зареждаш темплейта - там спокойно можеш да си направиш така нещата, че в темплейта да не може да се пипа нищо друго освен данните, подадени от контролера. Ама това си е параноя, така или иначе някой ако иска да ти направи беля - ще я направи, не вярвам да работиш с такива хора. А за да счупиш нещо от view-то, трябва бая да си смъкнал от дамаджаната преди това.
Затова си ползвай сървърния език и html за темплейти, открадни си/напиши си няколко helper-а за повтарящи се досадни дейности и не го мисли
Поздрави,
Иво