繁体   English   中英

Smarty registerPlugin函数作为参数

[英]Smarty registerPlugin function as argument

在Smarty中,可以通过以下方式注册插件:

$smarty->registerPlugin("function","date_now", "print_current_date");

function print_current_date($params, $smarty)
{
  if(empty($params["format"])) {
    $format = "%b %e, %Y";
  } else {
    $format = $params["format"];
  }
  return strftime($format,time());
}

参考: https : //www.smarty.net/docs/en/api.register.plugin.tpl

但是我正在寻找一种方法,可以直接将函数作为参数传递。 如何在PHP / Smarty中做到这一点?

例如:

$smarty->registerPlugin("function","date_now", function ($params, $smarty) {
  if(empty($params["format"])) {
    $format = "%b %e, %Y";
  } else {
    $format = $params["format"];
  }
  return strftime($format,time());
});

目前,在Smarty模板中不能使用闭包/ lambdas /匿名函数。

https://www.smarty.net/forums/viewtopic.php?p=73824

关闭支持是dev-master版本中新增的功能。 它将包含在3.1.28中

另请阅读NEW_FEATURES.txt

https://github.com/smarty-php/smarty/issues/59

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM