ホームページ >バックエンド開発 >PHPチュートリアル >PHP のデストラクターとガベージ コレクションのメカニズム_PHP チュートリアル
Destructor: オブジェクトがガベージになったとき、またはオブジェクトが明示的に破棄されたときに実行されます。
PHP では、このオブジェクトを指す変数がない場合、このオブジェクトはガベージになります。 PHP はメモリ内でそれを破壊します。
これは、メモリ オーバーフローを防ぐための PHP の GC (ガベージ コレクター) ガベージ処理メカニズムです。
PHP スレッドが終了すると、現在占有されているすべてのメモリ空間が破棄され、現在のプログラム内のすべてのオブジェクトも破棄されます。
__destruct() デストラクターは、ガベージ オブジェクトがリサイクルされるときに実行されます。
デストラクターを明示的に呼び出すこともできますが、そうしないでください。
デストラクタはシステムによって自動的に呼び出されます。プログラム内でオブジェクトの架空の関数を呼び出さないでください。
デストラクターはパラメーターを受け取ることができません。
以下のプログラムに示すように、プログラムが終了する前にすべてのオブジェクトが破棄されます。デストラクターが呼び出されました。
リーリープログラムの実行結果:
リーリーオブジェクトが指されていない場合、オブジェクトは破棄されます。
リーリープログラムの実行結果:
リーリー上記の例の 10 行目では、$p を空に設定するか、11 行目で $p に文字列を割り当てているため、$p が指すオブジェクトはガベージ オブジェクトになります。 PHP ガベージはこのオブジェクトを破壊します。
プログラムの実行結果:
リーリーunset は、オブジェクトではなく、オブジェクトを指す変数を破棄します。