我正在创建一个Symfony2包,用于多个项目(现在4) 该捆绑包含将在所有项目中使用的业务逻辑。
该bundle有几个抽象类,标有 @MappedSuperclass ,它们之间的所有关系都是通过接口指定的,并用 addResolveTargetEntity 解决。含义 我可以通过配置覆盖我的包中的任何实体。
现在的问题是,尽管非常酷,但在使用此捆绑包的所有项目中,我必须重新定义从基础扩展的所有实体并配置它们(因此它们是真实实体)。如果没有提供/配置另一个实体可以使教义使用基本实体,那将是非常棒的。因为并非所有都需要定制,但所有实体都被使用。
你怎么看?答案 0 :(得分:0)
您应该查看SyliusResourceBundle,更具体地说是LoadMetadata subscribers。
这些本质上允许您创建带有关联的类的加载,如果它们不是最终的子类,则可以转换为映射的超类。它还将关联移动到子类,因为它们不能出现在映射的超类中。