gpt4 book ai didi

php - Smarty:是否可以在模板中调用 PHP 函数(从 Controller 类)?

转载 作者:行者123 更新时间:2023-12-02 06:58:58 29 4
gpt4 key购买 nike

我在 Controller 类中创建了一个函数,需要在模板内部使用(因为模板渲染了很多次(每个模板都是网站上的一篇文章,它们都会以不同的值显示在新闻源中) .有没有办法在smarty变量上调用它?假设您在 Controller 中创建了一个函数:

public function foo($bar){
$bar++;
return $bar;
}

然后在模板中:

{$smarbar|foo} 或类似的东西

最佳答案

您可以注册一个修饰符来调用类的给定方法:

class SomeClass {
public function someMethod($value)
{
// return modified value
}
}

$smarty = new Smarty();

$smarty->registerPlugin('modifier', 'myModifier', array('SomeClass', 'someMethod'));
// or
$instance = new SomeClass();
$smarty->registerPlugin('modifier', 'myModifier', array($instance, 'someMethod'));

现在您可以在模板中使用它了:

{$someVar|myModifier}

这是 registerPlugin文档。

关于php - Smarty:是否可以在模板中调用 PHP 函数(从 Controller 类)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25551384/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com