基本上我的设置是我有很多想创建的对象。它将变成什么类型的对象取决于一个变量,即类型。所以最初我将不得不做很多if语句,所以为了缩短它,我创建了一个数组,但我遇到了能够通过数组创建实际对象的问题。通过数组初始化对象
这里是我原本:
if($object->type = 'text')
{
$object_new = new Text();
} elseif($object->type = 'image') {
$object_new = new Image();
} ....
但我想要做的是:
$all_objects = array('text'=> new Text(), 'image' => new Image(), ...);
$object_new = $all_objects($object->type);
这将缩短我的代码受到了很多,以及使之更有效率。
你试过了吗? ( –
它应该工作,但你需要'$ all_objects [...]'而不是'()'...... – gahooa