人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

PHP5.0對象模型探索之重載

PHP5.0對象模型探索之重載

更新時間:2022-08-16 文章作者:未知 信息來源:網絡 閱讀次數:

PHP4中已經有了重載的語法來建立對于外部對象模型的映射,就像Java和COM那樣. PHP5帶來了強大的面向對象重載,允許程序員建立自定義的行為來訪問屬性和調用方法。 

  重載可以通過__get, __set, and __call幾個特殊方法來進行. 當Zend引擎試圖訪問一個成員并沒有找到時,PHP將會調用這些方法. 

  在下面的例子中,__get和__set代替所有對屬性變量數組的訪問. 如果必要,你可以實現任何類型你想要的過濾. 例如,腳本可以禁止設置屬性值, 在開始時用一定的前綴或包含一定類型的值. 

  __call方法說明了你如何調用未經定義的方法. 你調用未定義方法時,方法名和方法接收的參數將會傳給__call方法, PHP傳遞__call的值返回給未定義的方法. 

  Listing1 User-level overloading 

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() n"); 
  print("Arguments: "); 
  print_r($args); 

  return(TRUE); 
 } 

$o = new Overloader(); 

//invoke __set() 給一個不存在的屬性變量賦值,激活__set() 
$o->dynaProp = "Dynamic Content"; 

//invoke __get() 激活__get() 
print($o->dynaProp . "n"); 

//invoke __call() 激活__call() 
$o->dynaMethod("Leon", "Zeev"); 
?> 

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 周口市| 鲁甸县| 崇文区| 贺州市| 饶平县| 宣化县| 安平县| 巴楚县| 靖边县| 若尔盖县| 平山县| 石河子市| 资阳市| 无棣县| 保德县| 尖扎县| 梁平县| 齐齐哈尔市| 阳泉市| 肇庆市| 凌海市| 会宁县| 齐河县| 简阳市| 泽普县| 克拉玛依市| 漳州市| 深水埗区| 观塘区| 山东| 古交市| 吉安县| 会昌县| 苏尼特右旗| 茂名市| 普兰店市| 昌黎县| 南乐县| 平潭县| 垫江县| 沅陵县|