从胡子中调用php函数并将胡须数组值传递给函数调用

时间:2015-02-19 14:25:26

标签: kohana-3.3 mustache.php

我想将一个数组值传递给一个视图函数,以便它可以根据发送的值发回一些HTML。我希望我的系统能够发回textarea,文本框或单选按钮。

在我的胡子上我有{{#get_question}}{{type}}{{/get_question}}类型可以从[“input”,“radio”,“comment”中获得任何值]我头疼的主要是如何调用此函数并传递参数。< / p>

我想有一个php函数get_question,它提取{{type}}中传递的值,如果type不是text,我想将type的值传递给我的部分调用{{>}}并动态加载{{type}}表示的部分 我从Kohana论坛获得了此代码示例:

Hello, {{#caps }}{{ text }}{{/ caps }}!

    $m = new Mustache_Engine(array(
        'helpers' => array(
            'caps' => function() {return function($text, $m) {
                  return strtoupper($m->render($text));
            }}
        )
    ));

我似乎无法从我的视角开始工作,因为我必须将其封装在另一个function(){}块中。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

这是令人头痛的,因为你正在与Mustache的基本面作斗争:)

这有点落后于“胡子方式”。您应该将逻辑提取到view / viewmodel / model中,并将模板限制为简单的部分和字符串插值,而不是尝试通过lambdas在逻辑中进行窃听。像这样的东西可以解决这个问题:

{{# questions }}
  {{# is_input }}{{> input }}{{/ is_input }}
  {{# is_radio }}{{> radio }}{{/ is_radio }}
  {{# is_comment }}{{> comment }}{{/ is_comment }}
{{/ questions }}

然后每个问题视图/ viewmodel / model都会回答is_input()is_radio()is_comment()