1
我正在研究一個基本上是數據庫行接口的php類。我想創建一個delete()
方法,它將1.刪除數據庫行並銷燬它自己的實例,以便進一步試圖通過對象操縱該行將引發警告。在php5中自毀對象?
做一些谷歌搜索,看起來,在php5中,一個對象不可能自行設置。 http://bugs.php.net/bug.php?id=36971
事實上他們討論的非常情況,我想這樣做:(
所以,我應該如何進行?我可以讓布爾標誌作爲一個階級屬性,該行是否依然存在,讓每個操作檢查標誌,如果該行已被刪除,拋出一個錯誤,這保持了代碼的面向對象的結構,所以我會
$objDbRow->delete();
但後來我不得不把支票在每個方法的開始。
或者,我可以實現刪除行的__destruct
方法。但是這對我來說似乎是反直覺的;如果我看到代碼
unset($objDbRow);
所有我會懷疑發生的事情是,該對象被丟棄,而不是行被刪除。所以對我來說這似乎是不好的做法。