在symfony包上重用实体

时间:2014-07-10 14:49:47

标签: symfony doctrine-orm

我正在创建一个Symfony2包,用于多个项目(现在4) 该捆绑包含将在所有项目中使用的业务逻辑。

该bundle有几个抽象类,标有 @MappedSuperclass ,它们之间的所有关系都是通过接口指定的,并用 addResolveTargetEntity 解决。含义 我可以通过配置覆盖我的包中的任何实体。

现在的问题是,尽管非常酷,但在使用此捆绑包的所有项目中,我必须重新定义从基础扩展的所有实体并配置它们(因此它们是真实实体)。如果没有提供/配置另一个实体可以使教义使用基本实体,那将是非常棒的。因为并非所有都需要定制,但所有实体都被使用。

你怎么看?

1 个答案:

答案 0 :(得分:0)

您应该查看SyliusResourceBundle,更具体地说是LoadMetadata subscribers

这些本质上允许您创建带有关联的类的加载,如果它们不是最终的子类,则可以转换为映射的超类。它还将关联移动到子类,因为它们不能出现在映射的超类中。