前回の記事では、「PHP でオブジェクトをインスタンス化し、オブジェクト メンバーにアクセスする方法は?」についてお届けしました。 」では、オブジェクトをインスタンス化し、オブジェクトのメンバーにアクセスする方法について詳しく紹介しています。この記事では、PHP のコンストラクターとデストラクターについて説明します。皆さんの参考になれば幸いです。
PHP クラスのコンストラクターは、コンストラクターとも呼ばれます。new キーワードを使用してオブジェクトがインスタンス化されると、オブジェクトの作成時に自動的に呼び出すことができます。特別な機能です。対応する関数はデストラクターです。デストラクターの役割はコンストラクターの正反対です。デストラクターはオブジェクトが破棄される前に操作を実行できます。次に、これら 2 つの関数を一緒に見てみましょう。
<strong><span style="font-size: 20px;"></span>construct()</strong>
:コンストラクター/メソッド
PHP クラスでは、クラスのコンストラクターとして
__construct()
を使用します。コンストラクターは、オブジェクトの作成時にクラス内で自動的に呼び出される最初の関数であり、クラス内にのみ存在できます。コンストラクターにパラメーターがある場合は、インスタンス化のために対応するパラメーターも渡す必要があることに注意してください。
public function __construct(参数列表){ ... ... }
パラメーター リストはオプションであり、必要ない場合は省略できることに注意してください。構文の前には 2 つのアンダースコア
__ が付きます。 例は次のとおりです。 <?php class study{ public $study1, $study2, $study3,$study4; public function __construct($str1, $str2, $str3,$str4){ $this -> study1 = $str1; $this -> study2 = $str2; $this -> study3 = $str3; $this -> study4 = $str4; $this -> demo(); } public function demo(){ echo $this -> study1.'<br>'; echo $this -> study2.'<br>'; echo $this -> study3.'<br>'; echo $this -> study4.'<br>'; } } $object = new study('好好学习','天天向上','福如东海','寿比南山'); ?>
上記の結果から、クラス内に作成されたオブジェクトを呼び出すために
__construct()
<strong><span style="max-width:90%"></span>#destruct()</strong>
: デストラクター/メソッド
Just前述の
__construct()
コンストラクター関数はオブジェクトの作成時に呼び出されます。対応する関数はデストラクターです。デストラクター関数はコンストラクター関数の反対です。デストラクター関数は、オブジェクトが作成されたときにのみ自動的に呼び出されます。オブジェクトがメモリから削除されます。PHP にはガベージ コレクション メカニズムがあります。オブジェクトにアクセスできない場合、ガベージ コレクション メカニズムが自動的に開始されます。デストラクタは、ガベージ コレクション オブジェクトの前に呼び出されます。
__destruct()
public function __destruct(){ ... ... }
コンストラクターと同様に、destruct も前に置かれることに注意してください。 2 つのアンダースコアで区切ります。
__<?php class Website{ public $study1, $study2; public function __construct(){ echo '构造函数被调用了<br>'; } public function __destruct(){ echo '析构函数被调用了<br>'; } } $object = new Website(); echo '好好学习<br>'; echo '天天向上<br>'; ?>
<strong><span style="max-width:90%"></span>$this</strong>
:現在のオブジェクト
は次のとおりです。 PHP オブジェクト プログラミングでは、オブジェクトが作成された後、オブジェクトの各メンバー メソッドに特別なオブジェクト参照「
$this」が存在し、コネクタ
-># で接続されます。 ## 特にオブジェクトの内部メンバー間のアクセスを完了するために共同で使用されます。例は次のとおりです:
$this -> 成员属性; $this -> 成员方法(参数列表);
クラス内のメンバー属性にアクセスするときは、属性名に従うだけです。$ 記号を追加する必要はありません。$this はオブジェクト内でのみ使用できます。オブジェクトがなければ、$this は存在しません。
例は次のとおりです:
<?php class Website{ public $name; public function __construct($name){ $this -> name = $name; $this -> name(); } public function name(){ echo $this -> name; } } $object = new Website('好好学习'); ?>
出力結果:
興味がある場合は、「#」をクリックしてください。 ##PHP ビデオ チュートリアル>>PHP の知識についてさらに学びましょう。
以上がクラス内のコンストラクターとデストラクターを区別できるようにするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。