我有一个抽象的父类Item
,不同类型的项目可以从中扩展:ItemTypeA
,ItemTypeB
和ItemTypeC
。从我的数据库结果,我有一个数组:
array(
'item_name' => 'This is the item name',
'item_type' => 'ItemTypeA'
);
在PHP中,创建项目的最佳方法是什么?我应该做类似以下的事情吗?
static function constructFromDatabase($result){
$type = $result['item_type'];
$item = new $type;
return $item;
}
答案 0 :(得分:1)
是的,$item = new $type;
应该可以正常使用,source
答案 1 :(得分:0)
如果您不打算在其他任何地方使用中间变量,您甚至可以执行return new $result['item_type'];
表示性能 - 以及清晰/简单 - 原因。