ホームページ >バックエンド開発 >PHPチュートリアル >セクション 11 -- オーバーロード --ClassesandObjectsinPHP511_PHP チュートリアル

セクション 11 -- オーバーロード --ClassesandObjectsinPHP511_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:24:23806ブラウズ

| = この記事は Haohappy によって読まれています > | = クラスとオブジェクトの章のメモ | = 不必要なトラブルを避けるために転載しないでください。すべての PHP 愛好家が一緒に進歩できることを願っています。 ----- -------------------------------------- + */ セクション 11 -- PHP4 の再ロード Java や COM と同じように、外部オブジェクト モデルへのマッピングを確立するためのオーバーロード構文がすでに存在し、PHP5 は強力なオブジェクト指向オーバーロードを提供し、プログラマーがプロパティにアクセスしたりメソッドを呼び出したりするためのカスタム動作を作成できます。オーバーロード ロードは、Zend エンジンがメンバーにアクセスしようとして見つからなかった場合に、特別なメソッド __get、__set、および __call を使用して実行できます。例 6.14 では、__get と __set が属性変数のすべてのペアを置き換えます。必要に応じて、任意のタイプのフィルタリングを実装できます。たとえば、スクリプトでは、特定のプレフィックスで始まる、または特定のタイプの値を含むプロパティ値の設定を無効にすることができます。定義済みのメソッド。未定義のメソッドを呼び出すと、メソッド名とそのメソッドが受け取ったパラメータが __call メソッドに渡され、PHP は __call の値を未定義のメソッドに返します。プロパティ名] )) { return($this->properties[$property_name]); } else { return(NULL) } } function __set($property_name, $value) { $this->properties[$property_name] = $value ; } function __call($function_name, $args) { print("$function_name()

n"); print("引数: "); $o = new Overloader(); //__set() を呼び出すと、存在しない属性変数に値が割り当てられ、__set() がアクティブ化されます $o->dynaProp = "Dynamic Content"; // __get() が呼び出されることで、__get がアクティブになります。 () print($o->dynaProp . "
n"); // __call() を呼び出す $o->dynaMethod("Leon", "Zeev");

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

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/532154.html技術記事 | = この記事は Haohappy によって読まれています> | = クラスとオブジェクトの章のメモ | = 不必要なトラブルを避けるために転載しないでください。 | 批判や提案は歓迎です。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。