【发布时间】:2021-05-08 02:23:53
【问题描述】:
有没有办法用多态(接口)替换这个开关盒? 我得到了一个具有不同字段的表单,具体取决于产品类型,它将数据传递到数据库中。
public function typeHandler(){
switch($this->type){
case 'unknown':
return '';
case 'dvd':
$dvd = new Dvd($_POST);
$product = new Product($_POST);
$sa = $dvd->getSize();
$product->setSa($sa);
$product->save();
$dvd->save();
break;
case 'book':
$book = new Book($_POST);
$product = new Product($_POST);
$sa = $book->getWeight();
$product->setSa($sa);
$product->save();
$book->save();
break;
case 'furniture':
$furniture = new Furniture($_POST);
$product = new Product($_POST);
$sa = $furniture->getDimensions();
$product->setSa($sa);
$product->save();
$furniture->save();
break;
}
}
【问题讨论】:
标签: php forms interface switch-statement polymorphism