如何将Mustache与Symfony集成?

时间:2011-07-07 10:42:17

标签: php symfony1 mustache

我想用Mustache替换symfony1.4的默认模板。令我惊讶的是,我无法通过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;
}

这看起来很笨拙。主要问题是:

胡须模板的存放位置(我的情况下是'Hello {{planet}}')?

是否可以替换默认的View Handler?这样我就可以把胡子模板放在模板文件夹中并且对行动透明了吗?

由于

2 个答案:

答案 0 :(得分:5)

我认为实现它的最佳方法是创建一个新的sfView实现。目前,sfPhpView是呈现输出的默认类。您可以扩展此类,并使用Mustache进行渲染。

您可以查看sfSmartyPlugin,了解他们如何实施Smarty模板引擎......

答案 1 :(得分:2)

也许你可以看看树枝。它类似于musatche,并与symfony公平整合(twig由symfony的创建者Fabien Potencier制作)。 这是symfony 1.x的插件:https://github.com/henrikbjorn/sfTwigPlugin