【发布时间】:2016-09-20 13:31:17
【问题描述】:
据我所知,如果您想从另一个包中扩展一个包,而不在它们之间创建依赖关系或使用任何 OO 继承概念,那么使用 Symfony 和 Doctrine2 尚无法实现。这证实了我的第一个想法:
“由于 Doctrine 的工作方式,无法覆盖捆绑包的实体映射。” (来源:http://symfony.com/doc/current/bundles/override.html#entities-entity-mapping)
现有的唯一方法并没有让我满意:使用 SuperMappedClasses...
我想要的是,例如:
- 一只手拥有独立捆绑包中的联系人 (CRMBundle)
- 在另一个 (EmailBundle) 中的另一个独立包中包含 EmailMessages
- 在 ShowMapper 中“神奇地”添加 Contact::$emailMessages 属性 + getter/setter + twig 模板(如果我使用 Sonata,这不是强制性的)+ DatagridMapper/FormMapper 中的字段...当 EmailBundle与联系人/CRMBundle 同时存在于应用程序中。
- 反面也一样(电子邮件)
目前,正如 Symfony 官方文档所说,这似乎是不可能的。 任何人都可以在这一点上确认“最先进的技术”吗?
事实上,我们正在处理这个问题,我认为我们将在这一点上为每个人带来一些新的和有趣的东西......但我不希望我们在没有必要的情况下处理这个问题。
提前致谢,
【问题讨论】:
标签: doctrine-orm bundle symfony extend