3

我想用 Mustache 替换 symfony1.4 的默认模板。令我惊讶的是,我无法通过谷歌搜索找到相关的方法。

然后,我想我可以用简单的方式做到这一点。

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}}')?

是否可以替换默认的视图处理程序?这样我就可以将小胡子模板放在模板文件夹中并对操作透明?

谢谢

4

2 回答 2

5

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

你可以看看sfSmartyPlugin看看他们是如何实现 Smarty 模板引擎的......

于 2011-07-07T10:46:43.007 回答
2

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

于 2011-07-07T11:12:09.897 回答