如何在小胡子php中使用用户定义的函数

时间:2018-06-17 06:27:38

标签: php mustache mustache.php

我在项目中设置了mustache php

echo $template->render(array(
     'data'=>$data, 
     'lang'=>$lang,
     'getMaritialStatus' => function($text, Mustache_LambdaHelper $helper) {
       return Common::getTextInHindi(ucwords(strtolower($helper->render($text))));
      }
));

我的用户定义函数是

public static function getTextInHindi($maritialStatus) {
      return $GLOBALS['lang'][$maritialStatus];
}

现在在我的用户定义函数中,我在上面尝试打印时可以看到

print_r($GLOBALS['lang']['Married']);  //gives correct output
print_r($GLOBALS['lang'][$maritialStatus]); //gives undefined index error

即使$maritialStatus包含字符串'Married'

为什么会发生这种情况

1 个答案:

答案 0 :(得分:2)

原来必须修剪价值:

 $GLOBALS['lang'][trim($maritialStatus)]

最好在之前完成修剪,因此它已经以正确的格式存在:

echo $template->render(array(
     'data'=>$data, 
     'lang'=>$lang,
     'getMaritialStatus' => function($text, Mustache_LambdaHelper $helper) {
       return trim(Common::getTextInHindi(ucwords(strtolower($helper->render($text)))));
      }
));