0
如果我這樣做是在PHP 5.x的(一般僞代碼):在PHP中重複新對象?
class object{
__construct($id){
<<perform database query>>
}
}
$array(1) = new object(1);
$array(1) = new object(1);
我是不是浪費的努力(內存,CPU等)?數據庫查詢會運行兩次嗎?
什麼是最好避免這種方式(如果它是一個問題)?使用$array(1) instanceof object
? isset($array(1))
? array_key_exists(1, $array)
?
是否有一個(好?)的方式在課堂上進行檢查,看它是否已經存在,它再次做了所有工作過嗎?
編輯:爲了清楚起見,我不需要這個對象兩次。而這個目標將被再次使用$array(523) = new object(523);
我的主要問題是如何最好地避免冗餘創建完全相同的對象。
重新您的最後一句話,讀了Singleton模式 – Prisoner
不要在__construct做數據庫操作() – vodich
什麼@vodich說。 **不**閱讀單身反模式。維護一個數據庫連接是很好的。然而,應該避免爲此使用「Singleton」。 – rdlowrey