【发布时间】:2014-12-30 01:01:10
【问题描述】:
对我的 Doctrine2 模型中的所有实体使用全局基础实体的优缺点是什么?
我正在考虑让我的所有域实体扩展单个通用基础实体,以便我可以将关联的目标实体指定为基础实体类,从而允许该关联保持我域中的任何实体。
我的关联仍将尽可能具体:Order 实体将包含 Product 对象,而不是 Base 对象。但更多类似于“元”的功能,如状态日志项、授权规范等,可以通过定义与 BaseEntity 关联的 LogItems 和 AuthorizationRules 来非常通用地指定,而不是与特定项关联。
我在任何地方都没有看到这种方法,但是让所有类都从基础 Object 实体(“Java 风格”)扩展出来似乎有一些用处或威力。但也许我不必要地把事情复杂化了。
Doctrine2 中的基础实体是个好主意吗?
【问题讨论】:
-
你试过了吗?我认为它不会像你期望的那样工作。
-
您可以考虑使用全局接口而不是类。关于您的报价
having all classes extend off a base Object entity ('Java-style'),这根本不是真的,是的,所有类都扩展了 Object,但是在模型结构中,并非所有模型都扩展了“全局类”。你需要重新分析你的建模 -
Cerad,还没试过。会的!
-
Manix,我知道这很不寻常,问题是:为什么?有什么好处和坏处?
标签: php design-patterns orm doctrine-orm doctrine