小编Ant*_*ial的帖子

如何在mustache.php中使用函数包装器?

我开始在PHP上使用Mustache,但我没有设法使包装函数成为债务.

我有这个模板

{{#skill_level}}
  <span class="stars">
    {{#stars}}
      {{skill_level}} 
    {{/stars}}                        
  </span>
{{/skill_level}}
Run Code Online (Sandbox Code Playgroud)

我有这些数据

$data = new StdClass;
$data->skill_level = 3;
$data->stars = function($level) {
  $aux = "";
  $l = intVal($level);
  for ($i = 0; $i < $l; $i++) {
    $aux .= "+";
  }
  for ($i = $l; $i < 5; $i++) {
    $aux .= ".";
  }
  return $aux;
};
Run Code Online (Sandbox Code Playgroud)

我渲染m.render($tenplate, $data);,我想得到类似的东西:

<span class="stars">
    +++..                        
</span>
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

我明白了

<span class="stars">
    .....                        
</span>
Run Code Online (Sandbox Code Playgroud)

因为Mustache传递"{{skill_level}}"给我的函数而不是值3.

此外,如果我更改模板,在胡子标签中放置退格:

{{ …
Run Code Online (Sandbox Code Playgroud)

php mustache mustache.php

2
推荐指数
1
解决办法
2643
查看次数

标签 统计

mustache ×1

mustache.php ×1

php ×1