セクション 11 -- リロード

WBOY
リリース: 2016-06-13 12:36:58
オリジナル
986 人が閲覧しました

/*
------------------------------------------- ----------------------------------
| この記事は Haohappy<
| = 章のクラスとオブジェクトのメモ
| = 不要なトラブルを避けるため、転載しないでください。批判や修正は大歓迎です。私たちはすべての PHP 愛好家とともに進歩していきたいと考えています。
= PHP5 Research Center: http://blog.csdn.net/haohappy2004
--------- ----- -------------------------------------- ----- ---------------
*/
セクション 11 -- オーバーロード
PHP4 には、外部オブジェクト モデルのマッピングを確立するためのオーバーロード構文がすでにあります。 Java と COM。PHP5 は強力なオブジェクト指向のオーバーロードを提供し、プログラマがプロパティにアクセスしてメソッドを呼び出すためのカスタム動作を構築できるようにします。
オーバーロードは __get、__set、__call を介して実行できます。PHP は、Zend エンジンがこれらのメソッドを呼び出します。
例 6.14 では、属性変数配列へのすべてのアクセスを __get と __set で置き換えます。たとえば、スクリプトでプロパティの設定を無効にすることができます。
__call メソッドは、未定義のメソッドを呼び出す方法を示しています。未定義のメソッドを呼び出すと、メソッド名とそのメソッドによって受け取られたパラメータが渡されます。
リスト 6.14 ユーザーレベルのオーバーロード


コードをコピー コードは次のとおりです。 : class オーバーローダー

{
private $properties = array();
function __get {ties[$property_name]); 🎜> 関数__set($property_name, $value)
{
$this->property[$property_name] = $value;
} }
function __call($function_name, $args)
{
print("Arguments: "); Overloader();
// 存在しないプロパティ変数に値を代入し、__set() を起動します。
$o->dynaProp = "動的コンテンツ";
//__get() を起動します __get() を起動します
print($o->dynaProp . "
n")
//__call() を起動します __call を起動します()
$o->dynaMethod("Leon", "Zeev") ;
?>

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!