如何在mustache.php中使用函数包装器?
我开始在PHP上使用Mustach,但我无法使包装器函数作为债务使用 我有这个模板如何在mustache.php中使用函数包装器?,php,mustache,mustache.php,Php,Mustache,Mustache.php,我开始在PHP上使用Mustach,但我无法使包装器函数作为债务使用 我有这个模板 {{#skill_level}} <span class="stars"> {{#stars}} {{skill_level}} {{/stars}} </span> {{/skill_level}} 但它不起作用 我明白了 <span class="stars"> .....
{{#skill_level}}
<span class="stars">
{{#stars}}
{{skill_level}}
{{/stars}}
</span>
{{/skill_level}}
但它不起作用
我明白了
<span class="stars">
.....
</span>
然后处理{{skill\u level}
,但它不会发送到{{{start}}
,获得的渲染是
<span class="stars">
3
</span>
3.
有人知道我做错了什么吗?我应该如何编写模板以使其工作?欢迎提供任何建议或经验。谢谢。我在 传递的文本是未渲染的文本块 但它提供了一个
Mustache\u LambdaHelper
,可用于呈现传递的文本
因此,我必须将其添加到lambda函数中:
$data->stars = function($label, Mustache_LambdaHelper $helper) {
$aux = "";
$level = $helper->render($label);
$l = intVal($level);
for ($i = 0; $i < $l; $i++) {
$aux .= "+";
}
for ($i = $l; $i < 5; $i++) {
$aux .= ".";
}
return $aux;
};
$data->stars=函数($label,Mustache\u LambdaHelper$helper){
$aux=“”;
$level=$helper->render($label);
$l=intVal($level);
对于($i=0;$i<$l;$i++){
$aux.=“+”;
}
对于($i=$l;$i<5;$i++){
$aux.=”;
}
返回$aux;
};
这就是让它工作所需要的一切。感谢所有读者 我会为你的lambda编写如下代码:
{{ #skill_level }}
<span class="stars">
{{ #stars }}
{{ skill_level }}
{{ /stars }}
</span>
{{ /skill_level }}
<span class="stars">
3
</span>
$data->stars = function($label, Mustache_LambdaHelper $helper) {
$aux = "";
$level = $helper->render($label);
$l = intVal($level);
for ($i = 0; $i < $l; $i++) {
$aux .= "+";
}
for ($i = $l; $i < 5; $i++) {
$aux .= ".";
}
return $aux;
};