kao sto ivanhoe rece, a i koliko je meni poznato, smarty ima {php} tag, pomocu kog u template mozes da ubacis php kod koji hoces. toliko o smartiju i sigurnosti ako se gleda iz tog ugla. druga je stvar to sto neko ko menja smarty template najverovatnije mora i da ga uploaduje, a da bi ga uploadovao, najverovatnije ce imati pristup ili celom vhost root-u, ili makar direktorijumu koji sadrzi ceo template koji se edituje - tu dolazimo do pitanja - hoces li nekom kome ne verujes dozvoliti da pravi template za tvoju state-of-the-security aplikaciju? kada je neko paraoican, onda je paranoican na svim poljima...
ja sam za sebe odradio neki mini-template engine, koji je na neki nacin imitacija smartija, ali samo u odredjenoj meri. taj moj engine guta sirov php, ali ima neke osnovne skracenice koje smarty koristi (tipa, varijabla se ispisuje sa {$var}, postoje if/else/elseif, foreach strukture, vise-dimenzionim array-ima moze da se pristupa kroz {$var.lvl1.lvl2....}, itd), ali to su samo neke skracenice da ucine kod preglednijim. dalje, sam template engine podrzava template injection, tako da je moguce spucati template iz baze (umesto iz fajla na disku), engine ga renderuje i to lepo zapise u fajl na disku, tako da sledece pozivanje istog template-a (u slucaju da nije promenjen) samo include-uje php kod. nisam napravio pravo smartijevo keshiranje, jer po meni to ima smisla samo (i samo) ako je sajt zaista (jako) posecen. dakle, mislim da parsiranje template-a nije ni izbliza posao kao na primer generisanje grafikona i ostalih slika pomocu gd-a gde je cachiranje gotovo "a must".
nista revolucionarno, ovo sam opisao samo u slucaju da je nekom potrebno nesto brzo i jednostavno (i nedovoljno testirano, da bih ga proglasio robusnim), a opet funkcionalno. (/me looks at ivanhoe's post #7 since 1.5 months ago..
)