Функция Smarty registerPlugin в качестве аргумента - PullRequest
0 голосов
/ 18 февраля 2019

В 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());
}

Ref .: 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());
});

1 Ответ

0 голосов
/ 23 февраля 2019

Закрытия / лямбды / анонимные функции в настоящее время недоступны в шаблоне Smarty.

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

...