#このチュートリアルの動作環境: Windows7 システム、PHP8 バージョン、DELL G3 コンピューターphp デストラクター メソッドの名前は「__destruct()」であり、パラメーターを含めることはできません。 「__destruct()」デストラクター メソッドは、オブジェクトがガベージ コレクターによって収集される前 (つまり、オブジェクトがメモリから削除される前) にのみ自動的に呼び出されます。これにより、オブジェクトを破棄する前に、次のような特定の操作を実行できます。ファイルを閉じる、結果セットを解放するなど。
php デストラクター メソッドの名前は「__destruct ()」であり、パラメーターを含めることはできません。
PHP __destruct(): デストラクター/メソッド
デストラクターの役割は、コンストラクターのまったく逆です。オブジェクトがガベージ コレクターによって収集される前 (つまり、オブジェクトがメモリから削除される前) にのみ自動的に呼び出されます。デストラクターを使用すると、オブジェクトを破棄する前に、ファイルを閉じる、結果セットを解放するなど、特定の操作を実行できます。 PHP にはガベージ コレクション メカニズムがあり、オブジェクトにアクセスできない場合、ガベージ コレクション メカニズムはオブジェクトが占有しているメモリ領域を自動的に再利用し始めます。デストラクターは、オブジェクトがガベージ コレクション メカニズムによってリサイクルされる前に呼び出されます。 デストラクタの宣言形式はコンストラクタと同様です。クラス内で宣言されるデストラクタ名も固定です。また、メソッド名 __destruct() は 2 つのアンダースコアで始まり、デストラクタはパラメータを受け取ることはできません。クラスでデストラクター メソッドを宣言する形式は次のとおりです:public function __destruct(){ ... ... }
<?php class Website{ public $name, $url, $title; public function __construct(){ echo '------这里是构造函数------<br>'; } public function __destruct(){ echo '------这里是析构函数------<br>'; } } $object = new Website(); echo 'PHP中文网<br>'; echo 'https://www.php.cn/<br>'; echo '脚本运行结束之前会调用对象的析构函数<br>'; ?>
class sf{ public function destruct() { echo METHOD . PHP_EOL; } } $c1 = new sf; $c2 = $c1;echo 'unset $c2' . PHP_EOL;unset($c2);echo 'unset $c1' . PHP_EOL;unset($c1);// ----$c1 = new sf; $c2 = $c1;echo 'null $c2' . PHP_EOL; $c2 = null;echo 'null $c1' . PHP_EOL; $c1 = null;// ----$c1 = new sf; $c2 = $c1;echo '123 $c2' . PHP_EOL; $c2 = 123;echo '456 $c1' . PHP_EOL; $c1 = 456;echo 'the end' . PHP_EOL;
PHP ビデオ チュートリアル 」
以上がPHPのデストラクタメソッドの名前は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。