日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > php開源 > php教程 > php中__get()和__set()用法介紹

php中__get()和__set()用法介紹

來源:程序員人生   發(fā)布時間:2013-10-18 12:29:13 閱讀次數(shù):2956次

想要對對象的屬性進行一些設(shè)置,如果一個一個設(shè)置,會比較麻煩,這時可以使用對象的處理器函數(shù)__get()和__set(),不過使用這兩個方法的前提,屬性需要是protect或private的,如下例:

實例代碼如下:

  1.  class Person 
  2.  private $__data = array(); 
  3.  
  4.  public function __get($property
  5.  { 
  6.   if (isset($this->__data[$property])) 
  7.   { 
  8.    return $this->__data[$property]; 
  9.   } 
  10.   else 
  11.   { 
  12.    return false; 
  13.   } 
  14.  } 
  15.  
  16.  public function __set($property$value
  17.  { 
  18.   $this->__data[$property] = $value
  19.  } 
  20. }  

__set()和__get()方法是針對protect或private屬性的,這樣可以做到在外界不能直接訪問屬性,而通過public定義的__set()和__get()方法卻可以輕易訪問它,同事這兩個方法對屬性的操作通用性也比較高,也可以限制對象的屬性的合法性,只有屬于$__data數(shù)組中的屬性,才可以進行設(shè)置,可以防止外界直接對屬性進行設(shè)置.但是使用__set()和__get()也有些不足之處.第一,這兩個方法只會捕捉私有或受保護的屬性,即是外界沒有訪問權(quán)限的屬性,這樣php會報一個致命錯誤;第二,這兩個方法破壞了屬性的繼承性.如果父對象中有一個__set()方法,而在子類中又實現(xiàn)了自己的__get()方法,那么對象就不會正常的運行,因為父對象的__get()方法是永遠調(diào)不到的,而且要想檢測重寫的屬性是否存在也不能得到的,因為它不會調(diào)用__get()方法.見到有人通過實現(xiàn)__isset()和__unset()來解決上面的問題.代碼如下:

實例代碼如下:

  1. public function __isset($property
  2.  if (isset($this->data[$property])) 
  3.  { 
  4.   return true; 
  5.  } 
  6.  else 
  7.  { 
  8.   return false; 
  9.  } 
  10.  
  11. public function __unset($property
  12.  if (isset($this->data[$property])) 
  13.  { 
  14.   return unset($this->data[$property]); 
  15.  } 
  16.  else 
  17.  { 
  18.   return false; 
  19.  } 
  20. }  

使用__isset()和__unset()則能保證屬性是否真正存在,不過這兩個方法只有在PHP5.1后才有效.

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 久久久国产精品入口麻豆 | 国产精品美女一区二区 | 欧美在线观看视频一区二区 | 亚洲国产成人精品久久 | 色婷婷一区二区三区四区成人网 | 国产在线视频综合 | 欧美日韩在线一区二区三区 | 久久久国产一区二区三区 | 大尺度网站在线观看 | 久久www免费人成看片高清 | 亚洲欧洲在线视频 | 欧美久久精品 | 欧美一区二区三区在线观看视频 | 亚洲精品一区二区三区蜜桃久 | 国产1区2区在线观看 | 丁香婷婷激情 | 蜜桃视频一区二区三区在线观看 | 久久免费影院 | 福利精品 | 日韩亚州| 国产一区二区在线播放视频 | 欧美黄色大片在线观看 | 国产一区二区在线免费 | 91精品国产综合久久久久久蜜臀 | 一区二区三区四区日韩 | 99国产精品久久 | av电影在线观看网站 | 欧美日韩一区二区视频在线观看 | 亚洲最新在线 | 日韩午夜视频在线观看 | 国产综合亚洲精品一区二 | 国产精品一区不卡 | 国产在线观看一区 | 欧美日韩三区 | 91大神精品视频在线观看 | 亚洲三级在线播放 | 久久精品视频在线观看 | 波多野结衣精品视频 | 男人天堂av网 | 一区二区三区日韩欧美 | 国产午夜精品一区二区 |