色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

第十一節--重載

/*
+-------------------------------------------------------------------------------+
| = 本文為Haohappy讀<<Core php Programming>> 
| = 中Classes and Objects一章的筆記 
| = 翻譯為主+個人心得 
| = 為避免可能發生的不必要的麻煩請勿轉載,謝謝 
| = 歡迎批評指正,希望和所有php愛好者共同進步! 
| = php5研究中心: http://blog.csdn.NET/haohappy2004
+-------------------------------------------------------------------------------+
*/
第十一節--重載
php4中已經有了重載的語法來建立對于外部對象模型的映射,就像Java和COM那樣. php5帶來了強大的面向對象重載,允許程序員建立自定義的行為來訪問屬性和調用方法.
重載可以通過__get, __set, and __call幾個特殊方法來進行. 當Zend引擎試圖訪問一個成員并沒有找到時,php將會調用這些方法.
在例6.14中,__get和__set代替所有對屬性變量數組的訪問. 如果必要,你可以實現任何類型你想要的過濾. 例如,腳本可以禁止設置屬性值, 在開始時用一定的前綴或包含一定類型的值.
__call方法說明了你如何調用未經定義的方法. 你調用未定義方法時,方法名和方法接收的參數將會傳給__call方法, php傳遞__call的值返回給未定義的方法.
Listing 6.14 User-level overloading
復制代碼 代碼如下:<?php  
   class Overloader  
   {  
       private $properties = array();  
       function __get($property_name)  
       {  
           if(isset($this->properties[$property_name]))  
           {  
               return($this->properties[$property_name]);  
           }  
           else  
           {  
               return(NULL);  
           }  
       }  
       function __set($property_name, $value)  
       {  
           $this->properties[$property_name] = $value;  
       }  
       function __call($function_name, $args)  
       {  
           print("Invoking $function_name()<br>/n");  
           print("Arguments: ");  
           print_r($args);  
           return(TRUE);  
       }  
   }  
   $o = new Overloader();  
   //invoke __set() 給一個不存在的屬性變量賦值,激活__set()  
   $o->dynaProp = "Dynamic Content";  
   //invoke __get() 激活__get()  
   print($o->dynaProp . "<br>/n");  
   //invoke __call() 激活__call()  
   $o->dynaMethod("Leon", "Zeev");  
?>  

php技術第十一節--重載,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 铁岭市| 徐闻县| 巩义市| 体育| 宜丰县| 舞阳县| 虞城县| 永善县| 阿巴嘎旗| 福鼎市| 米泉市| 甘孜| 平安县| 迭部县| 兴城市| 新丰县| 龙江县| 宣化县| 社旗县| 柞水县| 明光市| 兰坪| 漳平市| 鹤山市| 汨罗市| 玛多县| 承德市| 鄂托克前旗| 漳浦县| 玉环县| 兴化市| 三门县| 巨鹿县| 苗栗县| 德钦县| 荥阳市| 云龙县| 菏泽市| 乌鲁木齐县| 汶川县| 睢宁县|