簡體   English   中英

PHP Mustache將變量傳遞給函數

[英]PHP Mustache pass a variable to a function

我想將變量傳遞給函數:

{{#myFunc}}{{someVar}}{{/myFunction}}

這是我的引擎:

$options = [
    'helpers' => [
        'myFunc' => function($value) {
            // This works
            return 'got value: ' . $value;

            // This does not work
            return SomeClass::reformat($value);
            // It passes "{{someVar}}" to the method, not the value

            // var_dump shows
            var_dump($value); // '{{someVar}}'
        }
    ]
];
$engine = new Mustache_Engine($options);

$rendered = $engine->render('{{#myFunc}}{{someVar}}{{/myFunction}}', ['someVar' => '12345']);

我該怎么辦?

您需要使用lambda, 在這里您可以看到一個示例:

//the data
$data = array(
    'someVar' => "12345",
    'myFunc' => function($var) {
        return "got Value:" . $var;
    }
);
$engine = new Mustache_Engine();
$rendered = $engine->render('{{#myFunc}}{{someVar}}{{/myFunc}}', $data);

該函數位於$data內部。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM