-1

アプリの開発中にクラスをテストしていましたが、他のクイックレイジーメソッドの微調整と同じようecho

function __construct(){
   parent::__construct();
   echo "yaba daba doo"; 
   exit();
}

さて、いくつかのテストとすべての後、クラスが完全にコンパイルされているかどうかを確認することを考えたので、次のように書きました。

function __destruct(){
   echo "ends here"; 
   exit();
}

exit興味深いことに、 inがあったにもかかわらず、__constructそれでも実行されました__destruct!

私の知識によると、出口はプロセスを「殺します」ですね。

__destructオブジェクトがクラスへの参照を失ったときに呼び出されます。

つまりexit(0)、プロセスを優先的に強制終了しないということですか?

PHPのバグですか?なぜなら、IMOスクリプトはこれ以上進むべきではないのですか?

4

1 に答える 1

6

それはすべてマニュアルにあります。

exit() を使用してスクリプトの実行が停止された場合でも、デストラクタが呼び出されます。デストラクタで exit() を呼び出すと、残りのシャットダウン ルーチンが実行されなくなります。

于 2012-08-20T11:05:09.907 に答える