在 PHP 中,當一個對象被銷毀時,它的析構函數(destructor)會被自動調用。在面向對象編程中,當類之間存在繼承關系時,析構函數的調用順序是從子類到父類,也就是說,首先調用子類的析構函數,然后調用父類的析構函數。
這里有一個例子來說明這個過程:
class ParentClass {
function __destruct() {
echo "ParentClass 的析構函數被調用。<br>";
}
}
class ChildClass extends ParentClass {
function __destruct() {
echo "ChildClass 的析構函數被調用。<br>";
}
}
$obj = new ChildClass();
在上述代碼中,我們創建了一個名為 ChildClass
的子類,它繼承自 ParentClass
。當 $obj
被銷毀時,輸出結果將會是:
ChildClass 的析構函數被調用。
ParentClass 的析構函數被調用。
可以看到,首先調用了 ChildClass
的析構函數,然后調用了 ParentClass
的析構函數。這樣的設計可以確保在對象銷毀時,子類和父類的資源都能被正確地清理。