ホームページ  >  記事  >  バックエンド開発  >  PHP のデストラクターとガベージ コレクションのメカニズム_PHP チュートリアル

PHP のデストラクターとガベージ コレクションのメカニズム_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:33:24837ブラウズ

Destructor: オブジェクトがガベージになったとき、またはオブジェクトが明示的に破棄されたときに実行されます。

GC(ガベージコレクター)

PHP では、このオブジェクトを指す変数がない場合、このオブジェクトはガベージになります。 PHP はメモリ内でそれを破壊します。

これは、メモリ オーバーフローを防ぐための PHP の GC (ガベージ コレクター) ガベージ処理メカニズムです。

PHP スレッドが終了すると、現在占有されているすべてのメモリ空間が破棄され、現在のプログラム内のすべてのオブジェクトも破棄されます。

__destruct() デストラクター

__destruct() デストラクターは、ガベージ オブジェクトがリサイクルされるときに実行されます。

デストラクターを明示的に呼び出すこともできますが、そうしないでください。

デストラクタはシステムによって自動的に呼び出されます。プログラム内でオブジェクトの架空の関数を呼び出さないでください。

デストラクターはパラメーターを受け取ることができません。

以下のプログラムに示すように、プログラムが終了する前にすべてのオブジェクトが破棄されます。デストラクターが呼び出されました。

リーリー

プログラムの実行結果:

リーリー

オブジェクトが指されていない場合、オブジェクトは破棄されます。

リーリー

プログラムの実行結果:

リーリー

上記の例の 10 行目では、$p を空に設定するか、11 行目で $p に文字列を割り当てているため、$p が指すオブジェクトはガベージ オブジェクトになります。 PHP ガベージはこのオブジェクトを破壊します。

php変数の設定解除

リーリー

プログラムの実行結果:

リーリー

unset は、オブジェクトではなく、オブジェクトを指す変数を破棄します。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/752488.html技術記事デストラクター: オブジェクトがガベージになったとき、またはオブジェクトが明示的に破棄されたときに実行されます。 GC (ガベージ コレクター) PHP では、このオブジェクトを指す変数がない場合、このオブジェクトは次のようになります...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。