php析構函數是PHP5引入的,這類似於其它面向對象的語言,如“C ”,析構函數會在到某個對象的所有引用都被刪除或者當對像被顯式銷毀時執行,且和建構函式一樣,父類別的析構函式不會被引擎暗中呼叫。
php析構函式
#析構函式:PHP 5 引進了析構函式的概念,這類似於其它面向對象的語言,如C 。析構函數會在到某個物件的所有參考都被刪除或當物件被明確銷毀時執行。
析構函數
__destruct ( void ) : void
Example 析構函數範例
<?php class MyDestructableClass { function __construct() { print "In constructor\n"; $this->name = "MyDestructableClass"; } function __destruct() { print "Destroying " . $this->name . "\n"; } } $obj = new MyDestructableClass(); ?>
和建構子一樣,父類別的析構函數不會被引擎暗中調用。要執行父類別的析構函數,必須在子類別的析構函數體中明確地呼叫 parent::__destruct()。另外也和建構子一樣,子類別如果自己沒有定義析構函式則會繼承父類別的。
析構函數即使在使用 exit() 終止腳本執行時也會被呼叫。在析構函數中呼叫 exit() 將會中止其餘關閉操作的運作。
Note:
析構函數在腳本關閉時調用,此時所有的 HTTP 頭資訊已經發出。腳本關閉時的工作目錄有可能和在 SAPI(如 apache)中時不同。
Note:
試圖在析構函數(在腳本終止時被呼叫)中拋出一個例外會導致致命錯誤。
更多相關知識,請造訪PHP中文網!
以上是php析構函數是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!