検索
ホームページバックエンド開発PHPの問題PHPのデストラクタメソッドの名前は何ですか

php デストラクター メソッドの名前は「__destruct()」であり、パラメーターを含めることはできません。 「__destruct()」デストラクター メソッドは、オブジェクトがガベージ コレクターによって収集される前 (つまり、オブジェクトがメモリから削除される前) にのみ自動的に呼び出されます。これにより、オブジェクトを破棄する前に、次のような特定の操作を実行できます。ファイルを閉じる、結果セットを解放するなど。

PHPのデストラクタメソッドの名前は何ですか

#このチュートリアルの動作環境: Windows7 システム、PHP8 バージョン、DELL G3 コンピューター

php デストラクター メソッドの名前は「__destruct ()」であり、パラメーターを含めることはできません。

PHP __destruct(): デストラクター/メソッド

デストラクターの役割は、コンストラクターのまったく逆です。オブジェクトがガベージ コレクターによって収集される前 (つまり、オブジェクトがメモリから削除される前) にのみ自動的に呼び出されます。デストラクターを使用すると、オブジェクトを破棄する前に、ファイルを閉じる、結果セットを解放するなど、特定の操作を実行できます。

PHP にはガベージ コレクション メカニズムがあり、オブジェクトにアクセスできない場合、ガベージ コレクション メカニズムはオブジェクトが占有しているメモリ領域を自動的に再利用し始めます。デストラクターは、オブジェクトがガベージ コレクション メカニズムによってリサイクルされる前に呼び出されます。

デストラクタの宣言形式はコンストラクタと同様です。クラス内で宣言されるデストラクタ名も固定です。また、メソッド名 __destruct() は 2 つのアンダースコアで始まり、デストラクタはパラメータを受け取ることはできません。クラスでデストラクター メソッドを宣言する形式は次のとおりです:


public function __destruct(){
    ... ...
}

デストラクターは PHP ではあまり一般的に使用されません。これはクラスのオプションの部分であり、必要な場合にのみクラス内で宣言されます。 . .

[例] 以下では、例を使用してデストラクターの使用法を示します。

<?php
    class Website{
        public $name, $url, $title;
        public function __construct(){
            echo &#39;------这里是构造函数------<br>&#39;;
        }
        public function __destruct(){
            echo &#39;------这里是析构函数------<br>&#39;;
        }
    }
    $object = new Website();
    echo &#39;PHP中文网<br>&#39;;
    echo &#39;https://www.php.cn/<br>&#39;;
    echo &#39;脚本运行结束之前会调用对象的析构函数<br>&#39;;
?>

実行結果は次のとおりです。

PHPのデストラクタメソッドの名前は何ですか

#デストラクターは、オブジェクトへのすべての参照が削除されるか、オブジェクトが明示的に破棄されるときに実行されます。

オブジェクトが破棄される前に実行しますか?

公式マニュアルによると、デストラクタは、オブジェクトへの参照がすべて削除されたとき、またはオブジェクトが明示的に破棄されたときに実行されます。コードのデモは次のとおりです。

class sf{    public function destruct()
    {        echo METHOD . PHP_EOL;
    }
}
 
 
$c1 = new sf;
$c2 = $c1;echo &#39;unset $c2&#39; . PHP_EOL;unset($c2);echo &#39;unset $c1&#39; . PHP_EOL;unset($c1);// ----$c1 = new sf;
$c2 = $c1;echo &#39;null $c2&#39; . PHP_EOL;
$c2 = null;echo &#39;null $c1&#39; . PHP_EOL;
$c1 = null;// ----$c1 = new sf;
$c2 = $c1;echo &#39;123 $c2&#39; . PHP_EOL;
$c2 = 123;echo &#39;456 $c1&#39; . PHP_EOL;
$c1 = 456;echo &#39;the end&#39; . PHP_EOL;

実行結果は次のとおりです。

PHPのデストラクタメソッドの名前は何ですか

デストラクターは、オブジェクトへのすべての参照が削除されるか、オブジェクトは実行時に明示的に破棄されます。

一般に、php はスクリプトの終了時に参照を破棄し (設定解除ではなく)、スクリプトが終了する前に実行します。

推奨学習: 「

PHP ビデオ チュートリアル

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

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール