Smarty 中的 "defun" 是什么

What is "defun" in Smarty

我有时会在 Smarty 中看到 defun 函数。不幸的是,文件 compiler.defun.php 没有记录,我也 google 没有任何有用的东西。那么 defun 是什么意思,它到底应该做什么?

阅读代码我认为这是某种函数创建,但我想不出为什么有人会在 smarty 模板中定义函数。 Google 结果经常提到迭代递归,但没有给出 defun 与之相关的示例。

谢谢

嗯,看来 defunfunction 相似(或相同)。我的猜测是 defun 是 "function definition".

的尤达语

我用它来生成一个导航容器,本质上是非对称和动态的,它需要复制一些样板 html 列表,其中包含简单的 mods 到它们的 class 属性。实际上我发现了类似的东西 example of generating a nested menu。我还用它为 ZF2 表单创建了一些临时的简单视图助手。

有人可能会争论在模板中声明函数是否会产生可读的 and/or 可维护的代码,但这是一种选择。