Destructor: オブジェクトがガベージになったとき、またはオブジェクトが明示的に破棄されたときに実行されます。
GC(ガベージコレクター)
PHP では、このオブジェクトを指す変数がない場合、このオブジェクトはガベージになります。 PHP はメモリ内でそれを破壊します。
これは、メモリ オーバーフローを防ぐための PHP の GC (ガベージ コレクター) ガベージ処理メカニズムです。
PHP スレッドが終了すると、現在占有されているすべてのメモリ空間が破棄され、現在のプログラム内のすべてのオブジェクトも破棄されます。
__destruct() デストラクター
__destruct() デストラクターは、ガベージオブジェクトがリサイクルされるときに実行されます。
デストラクターを明示的に呼び出すこともできますが、そうしないでください。
デストラクタはシステムによって自動的に呼び出されます。プログラム内でオブジェクトの架空の関数を呼び出さないでください。
デストラクターはパラメーターを受け取ることができません。
以下のプログラムに示すように、プログラムが終了する前にすべてのオブジェクトが破棄されます。デストラクターが呼び出されました。
これは通常、セットアップ、データベースのクローズ、ファイルのクローズなどの作業を終了するために使用されます。
オブジェクトが指されていない場合、オブジェクトは破棄されます。
3
4
上記の例の 10 行目では、11 行目で $p を空に設定するか、$p に文字列を割り当てています。これにより、$p は以前にオブジェクトを指していました。ゴミオブジェクトになります。 PHP ガベージはこのオブジェクトを破壊します。
php unset variable
コードをコピー
ここで $p1 を破棄します。つまり、オブジェクトを指す変数はもうありません
デストラクターが実行されます
unset は、オブジェクトではなく、オブジェクトを指す変数を破棄します。
http://www.bkjia.com/PHPjc/824907.html
www.bkjia.com