将数据从操作传递到Filter - Yii

时间:2012-10-24 13:49:28

标签: php filter yii

我正在寻找关于如何解决我遇到的问题的建议。我有一个过滤器,对postFilter函数执行数据库检查。过滤器基本上看是否应生成电子邮件并发送由网站管理员设置的模板。此功能按预期工作。

我遇到的问题是,我需要将一些操作传递给仅在操作中公开的电子邮件模板。我最初的想法是以数组的形式将所需的值分配给系统参数,该数组可以从过滤器函数访问。这个问题是记录传递额外数据的每个动作。

我只是想知道是否有更优雅的解决方案...我希望系统尽可能保持用户的灵活性,因此如果有一种方法,用户可以设置preFilter动作上的捕获然后可以将所需信息传递给postFilter

谢谢大家。

1 个答案:

答案 0 :(得分:1)

由于数据是在操作中生成的,因此无法避免操作 以某种方式进行合作,以使数据可用于任何代码,最终发送电子邮件。因此,我无法看到必须如何记录"操作X公开数据Y"

一个非常简单但同时相当充分的解决方案是在基本控制器上有一对setContextData / getContextData函数;动作设置数据,后置过滤器读取数据。