我正在尝试获取已由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的目的相矛盾。
答案 0 :(得分:3)
在挖掘Mustache_Engine源代码后,找到答案。 getLoader()
将获取当前的Mustache Template Loader实例,load()
函数将加载模板(如果尚未加载)并将其作为字符串返回。
echo $mustache->getLoader()->load( 'template-name' );