在 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
的析构函数。这样的设计可以确保在对象销毁时,子类和父类的资源都能被正确地清理。