Ja sam kreirao svoj template sistem i ugradio u svoj CMS
sintaksu sam postavio slicnu kao smarty tako da mogu vrlo lako preci na njega kada zatreba.
Elem, kapiram da ima dve koncepcije obrade templejta
Jedno ti je kada templejte parsujes, a drugo kada ih kompajliras.
Mislim da je mnogo brze kada se parsuju, tj izvrsi replace. Resenje koje sam primenio za petlju jeste vadjenje bloka html-a iz templejta, njegovo procesiranje koriscenjem array-a i umetanje novog koda (moze imati 0, 1 ili vise ponavljanja) na mesto oznacenog bloka. Blok sam oznacio sa <!-- neki_blok --> <html source><!-- /neki_blok -->. Slicno sam resio i uslove.
Interesantno da je prilikom testiranja portala sa ogromnom bazom (>100Mb) slaba tacka sistema bilo bas persiranje petlji. Kada sam sistem doradio dobio sam zadovoljavajuce performanse. Ovde se mora voditi racuna kada radis sa str_replace, kada sa prostim str_tr ili neke druge regexp funkcije. Strtr obicno daje dobre rezultate, ali kod vecih nizova kod nekih verzija php-a drasticno usporava sistem. Napominjem da sam merio svaki deo koda!