ホームページ  >  記事  >  バックエンド開発  >  セクション 11 -- Reloading_PHP チュートリアル

セクション 11 -- Reloading_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 16:01:06897ブラウズ

/*
+---------------------------------------------- -- ----------------------------------+
| = この記事は Haohappy<> ; = 章のクラスとオブジェクトのメモ
| = 不必要なトラブルを避けるため、転載はご遠慮ください
|すべての PHP 愛好家が一緒に進歩することを願っています
| = PHP5 Research Center: http://blog.csdn.net/haohappy2004
+--------- ------ -------------------------------------------- ------ ---+
*/
セクション 11 -- オーバーロード
Java や COM と同じように、PHP4 には外部オブジェクト モデルへのマッピングを確立するためのオーバーロード構文がすでにあり、プログラマは強力なオブジェクト指向のオーバーロードを使用して作成できます。
オーバーロードは、いくつかの特別なメソッド __get、__set、および __call を通じて実行できます。Zend エンジンがメンバーにアクセスしようとして見つからなかった場合、PHP ではこれらのメソッドが呼び出されます。 6.14 では、属性変数配列へのすべてのアクセスが __get と __set に置き換えられ、必要に応じて任意のタイプのフィルタリングを実装できます。たとえば、スクリプトでは、最初に特定のプレフィックスを使用したり、特定の値を含めたりすることができます。 __call メソッドは、未定義のメソッドを呼び出す方法を説明します。未定義のメソッドを呼び出すと、メソッド名とメソッドによって受け取られたパラメータが __call メソッドに渡され、_call の値が返されます。未定義のメソッド
リスト 6.14 ユーザーレベルのオーバーロード



コードをコピーします

コードは次のとおりです。 class Overloader {
private $properties = array(); ($ Property_Name)[null); () 存在しない属性変数に値を割り当て、__set() をアクティブ化します
$o->dynaProp = "動的コンテンツ"
//__get() を呼び出すと __get() がアクティブになります
print($ o->dynaProp . "
n");
//__call() を起動します
$o->dynaMethod("Leon", "Zeev"?>)

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/316934.html技術記事 /* +---------------------------------------------- --- ---------------------------------+ |=この記事は、CorePHP プログラミングの ClassesandObjects の章からの Haohappy のメモです。 |=|= メイン + 個人的な翻訳...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。