Symfony2:将安全上下文注入模型类

Symfony2:将安全上下文注入模型类,symfony,service,hook,propel,Symfony,Service,Hook,Propel,我有一些实现preSave方法的类。这是一个钩子,某些字段可以在每次保存操作时自动更新。这是保存上次更新的日期和上次更新的用户所必需的 问题是模型类无法访问服务容器,我可以从中获取用户id(设置到last update user字段)。模型类(在我的knownledge中)不能声明为服务,因为它们是一种实体,由推进本身而不是服务容器实例化 我看到的唯一解决方案是有一个“真正的”单例(带有一个静态实例)保存用户对象,我将在应用程序的引导过程中实例化它,然后任何模型类都可以访问它 有更好的主意吗?对

我有一些实现preSave方法的类。这是一个钩子,某些字段可以在每次保存操作时自动更新。这是保存上次更新的日期和上次更新的用户所必需的

问题是模型类无法访问服务容器,我可以从中获取用户id(设置到last update user字段)。模型类(在我的knownledge中)不能声明为服务,因为它们是一种实体,由推进本身而不是服务容器实例化

我看到的唯一解决方案是有一个“真正的”单例(带有一个静态实例)保存用户对象,我将在应用程序的引导过程中实例化它,然后任何模型类都可以访问它


有更好的主意吗?

对于拥有相同推进的任何人,给定的捆绑包只会将EventDispatcher行为添加到推进中,这意味着您可以像Symfony一样管理推进事件,但它与Symfony容器分离(它使用自己的容器)

但glorpen/spreep bundle在这方面做得非常好,您可以使用简单的标记来定义侦听推进事件的服务。

对于Propel2:。使用侦听器,您可以像往常一样将其他服务附加/定义为构造函数参数。