如何在php胡子引擎中获取模板源代码

时间:2014-07-02 15:18:32

标签: php templates mustache.php

我正在尝试获取已由Mustache_Engine加载的原始模板。在创建胡子对象Filesystem_Loader时,会设置实例并指向默认目录。

$mustache = new Mustache_Engine( array(
    'loader' => new Mustache_Loader_FilesystemLoader( 'path-to-templates' )
) );

之后,为了渲染我使用的模板。

echo $mustache->render( 'template-name', $data ); 

服务器端的mustache.js使用相同的模板,因此我还希望将该模板打印为内联脚本。

我可以使用file_get_contents手动从文件系统加载模板,但由于已经加载了该模板,因此可以从Mustache_Engine中检索该模板。此外,要使用file_get_contents,我必须使用模板的完整路径,这与Mustache Template Loader的目的相矛盾。

1 个答案:

答案 0 :(得分:3)

在挖掘Mustache_Engine源代码后,找到答案。 getLoader()将获取当前的Mustache Template Loader实例,load()函数将加载模板(如果尚未加载)并将其作为字符串返回。

echo $mustache->getLoader()->load( 'template-name' );