gpt4 book ai didi

带参数的 Twig 自定义函数

转载 作者:行者123 更新时间:2023-12-01 00:42:32 30 4
gpt4 key购买 nike

我阅读了 Twig 文档,但我对自定义函数和过滤器有点困惑。我了解如何添加自定义功能。但是我不明白怎么写一个接受一些参数的函数,也可能是一些可选参数。

例如,我有以下名为 sqare 的函数的伪代码。

$twig = new Twig_Environment($loader);
$function = new Twig_SimpleFunction('square', function () {
if param2 present?
return param1*param2;
else
return param1;
});
$twig->addFunction($function);

现在我想要的是,param1 应该有一个默认值 1,param2 应该是可选的。 square 函数将返回两个参数的乘积。我还希望如果用户不传递第二个参数,则 param1 将被返回,即第一个参数将被返回。我该如何实现?另外,我应该将 Twig 模板中的函数称为 {{ square(5, 10) }} ?

最佳答案

您需要在 closure 中定义参数.
Twig 将相应地传递参数

$function = new Twig_SimpleFunction('square', function ($param1, $param2 = null) {
return isset($param2) ? $param1 * $param2 : $param1;
});

然后你在 Twig 中调用这个函数和 :
Only one param : {{ square(5) }}
Two params : {{ square(5, 2) }}

关于带参数的 Twig 自定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36610827/

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