ホームページ >バックエンド開発 >PHPの問題 >PHPデストラクタの役割

PHPデストラクタの役割

藏色散人
藏色散人オリジナル
2019-08-24 13:58:264032ブラウズ

PHPデストラクタの役割

#php デストラクターの役割

要するに、デストラクターの役割はメモリを解放することです。

デストラクター

__destruct ( void ) : void

PHP 5 では、C などの他のオブジェクト指向言語と同様のデストラクターの概念が導入されました。デストラクターは、オブジェクトへの参照がすべて削除されたとき、またはオブジェクトが明示的に破棄されたときに実行されます。つまり、クラスによってインスタンス化されたオブジェクトが破棄されたときにデストラクターが実行されます。

デストラクターの例

<?php
class MyDestructableClass {
   function __construct() {
       print "In constructor\n";
       $this->name = "MyDestructableClass";
   }
   function __destruct() {
       print "Destroying " . $this->name . "\n";
   }
}
$obj = new MyDestructableClass();
?>

コンストラクターと同様、親クラスのデストラクターはエンジンによって秘密裏に呼び出されません。親クラスのデストラクターを実行するには、parent::__destruct() を子クラスのデストラクター本体で明示的に呼び出す必要があります。さらに、コンストラクターと同様に、サブクラスは、デストラクターが定義されていない場合、親クラスを継承します。

exit() を使用してスクリプトが終了した場合でも、デストラクターは呼び出されます。デストラクターで exit() を呼び出すと、残りのシャットダウン操作が中止されます。

注:

## デストラクターは、スクリプトが閉じられたとき、つまりすべての HTTP ヘッダーが送信されたときに呼び出されます。スクリプトを閉じたときの作業ディレクトリは、SAPI (Apache など) 内にあるときとは異なる可能性があります。

## デストラクター (スクリプトの終了時に呼び出される) で例外をスローしようとすると、致命的なエラーが発生します。

関連する推奨事項: [

PHP チュートリアル

]

以上がPHPデストラクタの役割の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。