Php5.0 は、リリース以来、多くのオブジェクト指向機能、特にコーディングを簡素化し、システムをより適切に設計できるようにする多くの使いやすいマジック メソッドを提供してきました。今日はphp5.0が提供するマジックメソッドについて学びます。
魔法の定数:
1. __LINE__
ファイル内の現在の行番号を返します。
2. __ファイル__
ファイルのフルパスとファイル名を返します。インクルード ファイルで使用された場合は、インクルード ファイル名を返します。 PHP 4.0.2 以降、__FILE__ には常に絶対パスが含まれますが、以前のバージョンには相対パスが含まれる場合がありました。
3. __機能__
関数名を返します(PHP4.3.0で新規追加)。 PHP5 以降、この定数は関数が定義されたときの関数名を返します (大文字と小文字は区別されます)。 PHP4 では、この値は常に小文字です。
4. __クラス__
クラスの名前を返します (PHP4.3.0 の新機能)。 PHP5 以降、この定数は定義されたときのクラスの名前を返します (大文字と小文字は区別されます)。 PHP4 では、この値は常に小文字です。
5. __方法__
クラスのメソッド名を返します(PHP5.0.0で新たに追加されました)。メソッドが定義されたときの名前を返します (大文字と小文字が区別されます)。
魔法の機能:
1. __construct()
コンストラクター: オブジェクトがインスタンス化されるときに呼び出されます、
__construct とクラス名と関数名のコンストラクターが同時に存在する場合、__construct が呼び出され、もう一方は呼び出されません。
2. __get()
オブジェクトの属性を読み取る場合、属性が存在する場合は属性値が直接返され、存在しない場合は __get 関数が呼び出されます。
3. __set()
オブジェクトのプロパティを設定するときは、
属性が存在する場合は、値を直接割り当てます。
存在しない場合は、__set 関数が呼び出されます。
4. __toString()
オブジェクトを印刷するときに呼び出されます。 echo$obj; や print$obj;
など
5. __clone()
オブジェクトのクローンを作成するときに呼び出されます。例: $t=newTest();$t1=clone $t;
6. __sleep()
Serialize は以前に呼び出されました。オブジェクトが比較的大きく、シリアル化する前にいくつかのものを削除したい場合は、この関数を検討できます。
7. __wakeup()
これは、オブジェクトの初期化作業を行うために unserialize が使用されるときに呼び出されます。
8. __isset()
オブジェクトのプロパティが存在するかどうかを確認するときに呼び出されます。例: isset($c->name)。
9. __unset()
オブジェクトのプロパティの設定を解除するときに呼び出されます。例: unset($c->name)。
10. __set_state()
var_export が呼び出されたときに呼び出されます。 __set_state の戻り値を var_export の戻り値として使用します。
11. __autoload()
オブジェクトをインスタンス化するときに、対応するクラスが存在しない場合は、このメソッドが呼び出されます。