1

嗨,我正在使用 codeigniter 处理 mustache.php,它正在解析 mustache 标签,现在非常好我如何在 mustache 标签中使用 CI 助手或 php 函数,例如

    {{ anchor("http://www.google.com","Google") }}

//php function

    {{ date() }}

我已经尝试过小胡子助手,但根据这篇文章github mustache没有运气

在这种情况下,我必须添加额外的开始和结束胡子标签。我不想只在标签中传递函数并获取输出。

4

1 回答 1

2

您不能直接在 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);
于 2012-09-26T15:51:49.053 回答