好的,首先,我知道1.2。这是不可能的,这就是为什么我正在寻找一种解决方法
不,不幸的是我无法使用Doctrine 2,因为我的共享托管服务器停留在PHP 5.2.16,并且管理员拒绝安装PHP 5.3支持。
所以,这是我的问题,基本的亲子问题:
假设我有一个基类User
和子类Customer
,Seller
,Admin
。
我一直在研究继承方法:简单(相当无用的IMO),具体和列聚合,甚至是一种解决方法“假类表继承”找到here。
我真正需要的是“类表继承”,换句话说,User
映射到包含所有共享值的单独表,子表将map定义为仅定义表的单独表他们的具体专栏。
我放弃了 perfection :)在PHP< 5.3中,我真的不在乎它将如何存储在db中,但我的对象模型需要具备所有功能。
那么解决方法的最佳选择是什么?
这就是我需要的。
workingHours
,这是卖方特定的值)查询基表也不错,但正如我所知,这是最大的问题之一,它不是必须的。
我希望你理解我的问题。任何建议都会受到赞赏,因为我真的不知道该怎么做。
答案 0 :(得分:3)
几天前我遇到了同样的问题,我通过列聚合选择了继承。基本概念不是有史以来发明的最干净或最美丽的解决方案,而是诀窍,并满足您的所有要求,除了一个:
这里失败的一件事是我用粗体字强调,但你可以很容易地解决它。您可以覆盖子类中的setter和getter,如果有人试图访问或修改属于Customer的Seller对象上的字段,那么您不允许它(抛出异常,返回false等等)。 )。