【发布时间】:2011-07-14 19:31:47
【问题描述】:
我正在开发一个利用 Doctrine 2 的 Zend Framework 项目。我正在尝试让 Symfony 的 DI 容器也与该项目一起工作,但我遇到了麻烦。假设我有一个需要注入两个实例的类“Foo”。我可以毫无问题地设置一个 Symfony DI 容器来获取一个注入了依赖项的新“Foo”。伟大的!但是现在如果我想让“Foo”成为一个 Doctrine 实体呢?当我将实体插入数据库时一切都很好,因为我可以从 DI 容器中获取一个新的并简单地保留实体。但是,当我从 DB Doctrine 查询实体时,正在实例化我的“Foo”实例,它们不会注入正确的依赖项。如何让 Doctrine 使用我的 DI 容器,以便实体具有适当的依赖项?我知道 Doctrine 提供了一个“postLoad”钩子,我可以用它来注入对我的实体的依赖项,但这违背了 DI 容器的目的和好处。
【问题讨论】:
标签: symfony dependency-injection doctrine-orm