定義:
PHPクラス内の2つのアンダースコア「__」で始まるメソッドはマジックメソッドと呼ばれます。
カテゴリ:
例: 構築メソッド: __construct; 破壊メソッド: __destruct; 動的オーバーロード: __set()、__get()、__call()、__callStatic() アプリケーションシナリオ:
1. プログラムが存在しない、または非表示のクラス属性を変更しようとすると、PHP エンジンは __set() メソッドを呼び出します (メソッドがクラス内で定義されている場合)。 __set() の定義形式は次のとおりです:
function __set($name,$value){
。
2. プログラムが存在しない、または非表示のクラス属性を読み取ろうとすると、PHP エンジンは __get() メソッドを呼び出します (メソッドがクラス内で定義されている場合)。 __get() の定義形式は以下のとおりです:
function __get($name){
// 実装詳細
} '
3. プログラムが存在しない、または非表示のクラス メソッドを呼び出そうとすると、PHP エンジンは、メソッドがクラス内で定義されている限り、もちろん __call() メソッドを呼び出します。 __call() メソッドの定義形式は以下のとおりです。
function __call($name,$args){
は、配列の形で存在します。
4. PHP5.3.0 以降では、__callStatic() を使用して静的メソッドを動的に作成できます。 __callStatic() の定義形式は次のとおりです。
Function __callStatic($name,$args){
__callStatic の __callStatic の __callStatic の __callStatic() の結果を知る __callStatic() を行うfunction __callStatic($name,$args) {
配列の形式で存在します。
5. __clone() メソッドが定義されると、コピー時にクラスが自動的にそのメソッドを呼び出すため、__clone() メソッドの参照属性用のメモリを再度開くことができます。 __clone()の定義形式は以下の通りです:
function __clone(){
以上、PHP マジック メソッドと PHP クラスのマジック メソッドを紹介しました。PHP マジック メソッドの内容も含めて、PHP チュートリアルに興味のある友人の参考になれば幸いです。