您不能直接在 Mustache 模板中调用函数(逻辑少的模板,还记得吗?)
{{ link }}
{{ today }}
相反,此功能属于您的渲染上下文或您的 ViewModel。至少,这意味着提前准备好您的数据:
<?php
$data = array(
'link' => anchor('http://www.google.com', 'Google'),
'today' => date(),
);
$mustache->loadTemplate('my-template')->render($data);
一个更好的方法是将所有需要的逻辑封装my-template.mustache
在 ViewModel 类中,我们称之为MyTemplate
:
<?php
class MyTemplate {
public function today() {
return date();
}
public function link() {
return anchor('http://www.google.com', 'Google');
}
}
$mustache->loadTemplate('my-template')->render(new MyTemplate);