基本上我的設置是我有很多想創建的對象。它將變成什麼類型的對象取決於一個變量,即類型。所以最初我將不得不做很多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