オブジェクトの分解の正確な順序は何ですか?
テストから、私は考えを持っています:現在のスコープの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バージョンがこの順序で変更されるかを誰かが特定できますか?