PHP のマジック関数には、tostring、call、clone、autoload が含まれます。このチュートリアルがすべての友人に役立つことを願っています。
オブジェクト指向開発の概要
1. オブジェクトの説明と構成。 (オブジェクトの出力テキストの説明として理解できます)
2. オブジェクトメソッドの処理。 (例外が発生した場合の、より人道的なエラーメッセージをカスタマイズすると理解できます)
3. クローンオブジェクトの適用。 (元のオブジェクトと同じ別のオブジェクトを複製すると理解できます。別のものであることに注意してください。)
4. オブジェクトを自動的にロードする方法。 (引用として理解できます)
1. オブジェクトの説明と構成
メソッド名: __tostring()
形式:
コードは次のとおりです | コードをコピー |
私のクラス { 関数 __tostring() { return "このクラスの説明をここに記述します"; // return を使用すると、echo でエラーが発生します。 } } $p = 新しい My(); エコー $p; |
例:
コードは次のとおりです | コードをコピー |
クラス私の{ 関数 __toString() { return "このクラスの目的は地球を守ることです。"; } } $p = 新しい My(); エコー $p; ?> |
2. オブジェクトメソッドの例外処理
存在しないオブジェクトメソッドを呼び出す際の例外処理により、プログラムは正常に実行されます。
メソッド名: __call($funname,$arr_value)
形式:
コードは次のとおりです | コードをコピー |
私のクラス { 関数 __call($n,$v) { echo "間違ったメソッド名:".$n; echo "間違ったパラメータ:".$v; } } |
例:
コードは次のとおりです | コードをコピー |
クラス私の{ 関数 __call ($n,$v) { |
3. オブジェクトのクローン作成
クローンでは、メモリ内に 2 つの同一のオブジェクトを生成したり、元のオブジェクトをアップグレードしたりできます。 (単純な割り当てではありませんが、メモリ内で 2 つのメモリ ブロックが開かれます。クローンとクローンは同じ属性とメソッドを持つ 2 つの異なるオブジェクトです)
メソッド名: __clone()
キーワード: クローン
形式:
コードは次のとおりです | コードをコピー |
私のクラス { 関数 __clone() { echo "クローン作成時に自動的に呼び出される関数"; } } $a = 新しい My(); $b = $a のクローン; |
例:
コードは次のとおりです | コードをコピー |
クラス私の{ 関数 __call ($n,$v) { echo $b->name="Little Pig Head"." |
4. オブジェクトを自動的にロードする方法
オブジェクト名をすばやく取得し、現在のページに自動的にロードします
メソッド名: __autoload()
形式:
コードは次のとおりです | コードをコピー |
関数 __autoload($class_n) { include($class_n.".php"); } $p = new MyPc() //自動呼び出しは以下のように実行されます $d = 新しいデモ(); //include("mypc.php") |
例:
コードは次のとおりです | コードをコピー |
関数 __aotoload ($class_name) { $p = new class_name(); //ここでインスタンス化されたクラス名は、上記の関数変数 $class_name に置き換えられます。これは非常に便利です。 |