Ша­блон­ные движ­ки на вся­ких perl-ах, php и про­чей ма­ги­че­ской фе­е­рии - жид­кое по кон­си­стен­ции гов­но, ска­жу я вам. Это же поду­мать, пи­сать конструк­ции ви­да {foreach from=$array item=a value=b} на smarty (это тот слу­чай, когда Пе­до­ви­кия откро­вен­но пиз­дит), что бы по­том, пу­тем страш­ных по­туг и му­че­ний в ви­де regexp-ов, php скомпи­ли­ро­вал эту стро­ку в foreach ($array as $a=>$b). На perl все ко­неч­но ин­терес­ней, к при­ме­ру тот же мой лю­би­мый CTPP мо­жет само­сто­я­тель­но превра­щать ша­бло­ны в  байт-код, что зна­чи­тель­но уско­ря­ет ис­пол­не­ние. BTW, он же есть и для php в ви­де мо­ду­ля, но по­про­бы­вать все по­ка не при­хо­ди­лось. Са­мый оп­ти­маль­ный под­ход я ви­дел в фрейм­фор­ке ruby on rails (ко­то­рый и в codeigniter то­же и в ку­че дру­гих, ага), в ка­че­стве view со­став­ляю­щей MVC ис­поль­зу­ет­ся rhtml, что по су­ти яв­ляет­ся обыч­ным ruby в обыч­ном html. И ни­ка­ких те­бе фи­гур­ных ско­бо­чек.Единствен­ный "пра­виль­ный" ал­го­ритм отде­ле­ния син­так­си­са от ша­бло­нов это, по­жа­луй, xslt. Плю­са­ми его яв­ляет­ся на­личие от­лич­ной до­ку­мен­та­ции от W3C, воз­мож­ность транс­фор­ма­ций в xml, html, pdf, postscript и еще огром­ную ку­чу фор­ма­тов, род­ная под­держ­ка мно­ги­мим ин­тер­пре­та­то­ра­ми, а зна­чит и кросс­плат­фор­мен­ность, ну а ми­ну­са­ми - вер­сталь­щик или про­грам­мист не зна­ко­мый с xslt (нын­че стыд­но, им­хо) хуй сло­ма­ет. По­то­му что xslt по­хож толь­ко на xslt, ну и немного на японскую ани­ма­цию. И всьо. К че­му это я? А к то­му, что по­ни­маю все это от­лич­но, но все­рав­но не хо­чу по не­по­нят­ной мне при­чи­не де­лать пра­виль­но. За­чем-то для сво­е­го бло­га вы­брал smarty, из-за ко­то­ро­го стра­ни­ца ге­не­ри­ро­ва­лась по 5 се­кунд, объедав 3-5Mb па­мя­ти. Прав­ду го­во­рят, что дол­боеб в своих изо­щре­ни­ях ре­а­ли­за­ции эле­мен­тар­ной за­да­чи стре­мит­ся к бес­ко­неч­но­сти. При­шлось за­но­во пере­пи­сы­вать все отоб­ра­же­ния на чи­стом php. И за­чем, спра­ши­ва­ет­ся? Вот к при­ме­ру, бы­ло на smarty и ста­ло на php, за­то ле­та­ет те­перь. За компа­нию прак­ти­че­ски пол­но­стью пере­де­лал контрол­лер и мо­дель бло­га, упро­стив запро­сы. Те­перь весь сайт кро­ме ар­хи­ва со­об­ще­ний смо­жет ра­бо­тать на sqlite и postgresql - это про­ве­ре­но, а тео­ре­ти­че­ски - на mssql, mysqli, oci8, odbc и дру­гих, ко­то­рые под­дер­жи­ва­ют­ся active record классом codeigniter. Но­вая вет­ка в svn, ап­дей­тесь, ко­му ин­терес­но по­смот­реть.