2016-03-07 86 views
1

我有一个实体,称为Container它依赖于一个服务,DeviceService注射服务为实体

我目前餐后使用实体监听注入它。然而,这在刚创建普通对象new Container()不被注入。

我应该创造一个Symfony的地方ContainerFactory我注入服务进入新的对象,与当前的听众一起,或者做一个更聪明的方式存在?

+4

这是非常不好的做法,注入一个服务于实体(尤其是当刚创建一个新的实例,而不是将它用于postLoad等任何事件)。你能解释一下更多的背景,以及为什么你需要一个服务与你的实体? – LBA

+1

这并不是中注入服务实体的最佳实践。我会审查设计和揣摩如果依赖是只能对实体一个方法。如果是,那么调用该方法时可能会传递该依赖关系。 – hasumedic

+1

有时它有一定道理,送给一个服务的实体访问。所以是的,一个ContainerFactory是你创建一个新对象所需要的。有时候我会欺骗,只是向Doctrine存储库类添加一个创建方法。 – Cerad

回答