我做了一個按預期工作的自動加載器類,但我注意到一個奇怪的行爲。當我回顯發現傳遞給處理spl_autoload_register()
函數的方法的類的結果時。我看到我有雙打。就像腳本被調用兩次,並且因爲它是一個單例,數據在我的情況下會生成2個數組。php singleton在自動加載器類中不斷調用自己兩次
我使用這種方法來創建我的單身
public static function init()
{
if (!isset(self::$instance))
self::$instance = new self();
return self::$instance;
}
我那麼有構造函數設置爲私有。我已經通過每個方法調試,試圖看看它看起來在哪裏創建自己的克隆。
我懷疑我的類和類在這個問題上被克隆在spl_autoload_register()函數的某個地方。
任何幫助,將不勝感激。
你有沒有設置相應的__clone功能? – busypeoples 2012-02-15 16:22:33
你能發佈完整的課程代碼嗎? – busypeoples 2012-02-15 16:25:49
好吧,貼。如果我運行這個非單身實例,那麼它不會克隆自己。 – Eli 2012-02-15 16:33:51