【发布时间】:2019-07-13 00:35:27
【问题描述】:
所以我得到了一项任务,要创建一个显示各种项目列表的网站。它们共享一些属性,例如名称,但每个都具有独特的属性,例如尺寸或重量。由于这是 OOP 中的一个练习,因此可以将其拆分为包含公共属性的父类,并且每个项目都有一个扩展该父类的类。
部分任务是制作一个动态表单来添加一个项目,该表单应该根据选择的项目类型而改变。问题是赋值明确声明不使用条件语句来决定选择哪种形式。
我制作了表单,但使用一个简单的 switch 语句来决定要加载什么动态表单。
switch ($_POST['thing']) {
case 'thing1':
require '../views/thing1.php';
break;
case 'thing2':
require '../views/thing2.php';
break;
}
我知道各种 OOP 设计模式,但似乎没有一个真正适合我的想法。那么,如果不为 100 种不同的项目设置一个巨大的条件,如何做到这一点呢?
【问题讨论】:
-
thing1和thing2是类的名称吗?您可以使用new $_POST['thing']。但是您需要将这些值列入白名单。 -
@Barmar 目前它们只是 html 的硬编码位。
标签: php oop design-patterns