我有一个symfony2项目,其中包含六个主要实体类型.我正在使用Doctrine.
这些实体具有许多相同的字段,例如creatorId,Created,Updated,Status和Title.目前,每个实体都是单独定义的 - 当然,基本代码(以及数据库字段)也有很多重复.
当我学习symfony2时,我正在学习OOP,所以我在这里摸索,但我的问题是:
将每个实体保持为独立的类是否被视为最佳做法?或者最好为共享属性创建一个新的基类,然后让其他实体扩展基础实体?
奖金问题:
如果构建从父类继承的实体实际上更好,我可以模糊地想象两个选项:
1)父类是一个完全映射的Doctrine实体,在数据库中有自己的表,我们将调用它,哦,我们称之为"节点".因此,调用子实体将始终涉及节点表和子内容类型实体表之间的额外连接.
2)父类是 - 嗯 - 抽象类(?),定义其他实体的共享属性,但没有实际的数据库存在.每个子实体分别实现共享属性,因此DB结构与我当前的设置保持一致,但在定义实体时(可能)可以减少重复的代码.
我主要是在寻找有关整体问题的建议 - 扩展基础实体的子实体,或者只是单独的实体.虽然欢迎提示,但不要指望任何人解释最佳实施.
symfony ×1