Как да интегрирам Mustache със Symfony?

Бих искал да заменя шаблона по подразбиране на symfony1.4 с Mustache. За моя изненада не мога да намеря свързан подход чрез търсене в Google.

Тогава предполагам, че мога да го направя по прост начин.

public function executeIndex(sfWebRequest $request)
{
include('/path/to/Mustache.php');
   $m = new Mustache();
   echo $m->render('Hello {{planet}}', array('planet' => 'World!'));

   return sfView::NONE;
}

Това изглежда тромаво. Основните проблеми са:

Къде да съхранявам шаблона за мустаци („Здравей {{planet}}“ в моя случай)?

Възможно ли е да се замени манипулаторът на изгледи по подразбиране? за да мога да сложа шаблон за мустаци в папката шаблони и да бъда прозрачен за действие?

Благодаря


person Morgan Cheng    schedule 07.07.2011    source източник


Отговори (2)


Мисля, че най-добрият начин да го внедрите е да създадете нова sfView реализация. В момента sfPhpView е класът по подразбиране за изобразяване на изхода. Можете да разширите този клас и да използвате Mustache за изобразяването.

Можете да погледнете sfSmartyPlugin, за да видите как са внедрили Smarty Template Engine...

person Grad van Horck    schedule 07.07.2011

Може би можете да погледнете към twig. Подобен е на musatche и има справедлива интеграция със symfony (twig е направен от Fabien Potencier, създателят на symfony). Това е плъгинът за symfony 1.x: https://github.com/henrikbjorn/sfTwigPlugin

person dxb    schedule 07.07.2011
comment
хм~, предпочитам мустаци, тъй като има зрял JavaScript и PHP lib. Шаблоните могат да се използват както от страната на браузъра, така и от страната на сървъра. - person Morgan Cheng; 07.07.2011
comment
Благодаря ти за коментара Може би съм твърде ориентиран към Fabpot. - person dxb; 07.07.2011