请教一个关于用变量实例化类的问题?
详细说一下场景:
根据礼包类型
我写了多个实例的类,我希望在模型中写一个方法,会根据type
自动实例化这个类,然后调用这个类的实例,
但我目前的代码还是:
switch ($model->type)
{
case 1:
$type_1 = new type_1_class($foo,$bar);
$ret = $type_1->do();
return $ret;
break;
case 2:
...
}
我已经尝试很多方法想让代码更简洁一些,也把PHP 代码简洁之道 ( PHP Clean Code)看了很多遍,还是没想出好办法,给我个提示吧
我现在的做法是,写一个interface
和一个abstract
,然后针对每个类型的礼包类,在abstract
里用变量实例化,然后调用,不知道谁能给点更好的建议
推荐文章: