有谁知道如何使用 F3::set 在模型/ View 中分配然后使用闭包?或者为以下场景提供解决方案?

我使用的是 1.4.4 版

这是我想要做的:

//In Model - Loaded from controller w/ F3::call
F3::set('getPrice', function($tax, $profile){
//return price
});

//In View - Inside an F3:repeat of @products
{@getPrice(@product.tax, @product.profile)}

但似乎不支持闭包......如果我使用 require/include 加载模型,定义函数 w/o F3::set,并在 View 中启用用户定义的函数,我可以让它工作。但我希望保持使用 F3::call/F3::set 提供的分离级别。

谢谢!

最佳答案

也许不是您想听到的答案,但是:F3 的模板引擎限制性极强,因此我建议您根本不要使用它。 F3 本身适用于简单的项目,幸运的是您可以选择要使用的组件。简单的 PHP 模板仍然胜过任何模板引擎,并且通过一个小包装器,您可以轻松访问其中的 F3 变量。您的模板可能如下所示:

<?= $this->getPrice($this->product->tax, $this->product->profile) ?>

包装器只需要包含模板并适本地实现 __get 和 __call 。

关于PHP Fat Free "set"带闭包,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5055512/

10-13 01:52