我正在 Symfony 中开发一个项目管理工具,现在我正在创建一个模块来记录日志,即捕获每个事件,如新项目创建、任务创建、任务状态更改、项目和任务的删除等。
我有一个日志表,我计划在发生上述任何事件时插入新行。但是为此,我需要进入每个控制器并调用日志模型来执行插入查询。几乎就像我要再次处理控制器中的所有操作以附加此代码。是否有任何其他方法可以仅使用 Symfony 中的一些事件调度程序(如类)调用模型一次。
很高兴您使用 Propel,有一堆插件和/或行为可以跟踪您的对象发生了什么。我会给你一个我发现的清单:
JMSAOPBundle正是这样做的。
如果我可以建议的话,我认为最好为每个操作添加自定义事件,这样您就可以在不失去控制的情况下使用更多侦听器扩展您的应用程序。如果您使用原则,您也可以使用原则事件系统