ホームページ  >  記事  >  バックエンド開発  >  PHP マジック メソッド - コンストラクターとデストラクター、PHP マジック コンストラクター_PHP チュートリアル

PHP マジック メソッド - コンストラクターとデストラクター、PHP マジック コンストラクター_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-12 08:58:28935ブラウズ

php マジック メソッド - コンストラクターとデストラクター、php マジック コンストラクター

php には非常に魔法のメソッドのクラスがあり、通常は外部から明示的に呼び出されることはなく、二重アンダースコア (__) を使用します。方法。 PHP 関係者は、二重アンダースコアで始まる他のメソッドを定義することを推奨していません。

今回は、最も一般的なマジック メソッドであるコンストラクターとデストラクターを紹介します。

1. コンストラクター(__construct)

リーリー

コンストラクター: コンストラクターを持つクラスは、新しいオブジェクトを作成するたびに最初にこのメソッドを呼び出すため、オブジェクトを使用する前にいくつかの初期化サービスを実行することが非常に適しています。

注意:

1.Cloneはコンストラクターを呼び出しません

2. サブクラスがコンストラクターを定義している場合、親クラスのコンストラクターは暗黙的に呼び出されません

3. サブクラスのコンストラクターパラメーターは、親クラスのコンストラクターパラメーターと矛盾することが許可されます

4. サブクラスがコンストラクターを定義していない場合、php は親クラスのコンストラクターを見つけようとします

5. 親クラスがコンストラクタを定義していない場合、parentキーワードを使用して親クラスのコンストラクタを明示的に呼び出すと致命的なエラーが発生します

リーリー

マジック メソッドのコンストラクターに加えて、PHP はクラスと同じ名前のコンストラクターもサポートしますが、その優先順位はマジック メソッドよりも低くなります。

リーリー

php5.3.3 以降、クラス名と同じ名前のメソッドは名前空間内で使用され、コンストラクターとしては使用されなくなりました。これは名前空間の外では変更されません。 リーリー

コンストラクターは、シングルトン モードなどの 3 つのアクセス制御修飾子をすべて使用できます。 リーリー

2. デストラクター(

__destruct

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

注意:

1. コンストラクターと同様に、親クラスのデストラクターはエンジンによって秘密裏に呼び出されず、明示的にparent::__destructと呼ばれる必要があります

2. exit and die ではデストラクタの実行を防ぐことはできません

3. 致命的なエラーによりデストラクターの実行が妨げられます

4. デストラクター内で exit を呼び出すと、他の未実行のデストラクターの実行を防ぐことができます

5. 親クラスがデストラクタを定義していない場合、parentキーワードを使用して親クラスの

destructor関数を明示的に呼び出すと致命的なエラーが発生します リーリー

http://www.bkjia.com/PHPjc/1104060.html

tru​​ehttp://www.bkjia.com/PHPjc/1104060.html技術記事 PHP マジック メソッド - コンストラクターとデストラクター、PHP マジック コンストラクター PHP には非常に魔法のメソッドがあり、通常は外部から明示的に呼び出されません。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。