对象解构的确切顺序是什么?
通过测试,我有一个想法:当前范围的 FIFO。
class test1
{
public function __destruct()
{
echo "test1\n";
}
}
class test2
{
public function __destruct()
{
echo "test2\n";
}
}
$a = new test1();
$b = new test2();
一次又一次产生相同的结果:
test1
test2
PHP 手册含糊不清(强调我的以突出不确定性):“只要在关闭序列期间没有对特定对象的其他引用或以任何顺序调用析构函数方法。”
解构的确切顺序是什么?谁能详细描述PHP使用的销毁命令的实现?而且,如果这个顺序在所有 PHP 版本之间不一致,任何人都可以查明哪些 PHP 版本按这个顺序更改?