5

グローバル変数/関数を格納するための小さなクラスを作成しました。私の質問は、スクリプトの終了後にクラス オブジェクトを破棄する必要があるかどうかです。または、PHP はそのオブジェクト自体を破棄しますか?

これが私のコードです:

$web=new c_web("myWeb");
$web->loadTemplate("/!framework/admin/template.htm");
$web->doStuff();
// script has finished - destroying required here?

それを破壊する必要がある場合、どうすればそれを行うことができますか?

4

3 に答える 3

9

スクリプトが終了すると、メモリが解放されます。あなたはそのまま準備ができています:)

于 2011-04-08T11:29:56.607 に答える
4

いいえ、変数を自分で破棄する必要はありません(オブジェクトは変数です)。PHP スクリプトが最後に到達するとすぐに、変数が解放され、対応するメモリが解放されます。

実際には、変数のスコープの最後に到達すると、変数は自動的に破棄されます。また、スクリプトの最後に到達すると、そのスクリプトの実行によって導入されたスコープの最後になります。


(別の回答に対するコメントへの回答)
もちろん、エラーのためにスクリプトが終了すると、同じことが起こります。変数が解放され、メモリが解放されます。

于 2011-04-08T11:30:55.633 に答える
4

@Nanne が言ったように、スクリプトが終了するとメモリが解放されますが、状況によってはunset($web);が必要になる場合があります。.

于 2011-04-08T11:31:30.880 に答える