【发布时间】:2023-03-17 17:34:01
【问题描述】:
由于我们不仅可以在实体中使用继承,还可以在表单中使用继承,因此我设计了以下结构:
实体
- 班级人员
- 类教授扩展人
- 班级学生扩展人
表单类型
- 类 PersonType
- ProfessorType 类扩展 PersonType
- StudentType 类扩展 PersonType
现在,我的问题出在控制器上。我不知道是否应该为所有子实体使用 person 控制器,或者是否应该为每个子类创建一个特定的控制器。
使用通用控制器对实体之间的共同逻辑有很大帮助,而且每次创建新子类时都不需要添加整个控制器,但另一方面,处理特定的控制器很复杂每个人的数据。例如,如果我加载一个“人”,然后我想编辑或显示它,我需要知道与之对应的表单类型和模板,但这在那个级别是不可能的。我应该使用嵌套的“if”来获取人的类,从而创建正确的表单类型和模板(硬代码)。这不会是“动态的”。
也许我可以使用不同的路线来解决它,但我想知道什么是解决这个问题的最佳(或至少是好的)解决方案?我也应该在控制器中使用继承吗?怎么样?
【问题讨论】:
标签: inheritance symfony