国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

PHP 魔術方法之__set() __get() 方法

2019-11-08 02:45:42
字體:
來源:轉載
供稿:網友

先看看官方文檔的解釋

__set() is run when writing data to inaccessible PRoperties.__get() is utilized for reading data from inaccessible properties.

究竟用中文怎么翻譯呢? inaccessible :n. 難達到;難接近;無法理解。 有代碼有真相:

<?phperror_reporting(E_ALL);class stu{ private $a; private $b = 0; public $c; public $d = 0; //這里的 private 可以用 protected public 替代 private function __get($name) { return 123; } //這里的 private 也可以用 protected public 替代 private function __set($name, $value) { echo "This is set function"; }}$s = new stu();var_dump($s->a); //output: 123var_dump($s->b); //output: 123var_dump($s->c); //output: nullvar_dump($s->d); //output: 0var_dump($s->e); //output: 123$s->a = 3; //output: This is set function$s->c = 3; //no output$s->f = 3; //output: This is set function?>

結果:

如果沒有__get 方法,執行 var_dump(s?>a)vardump(s->b) 會有致命的錯誤 如果沒有__get 方法,執行 var_dump(s?>e)會有一個notice,提示沒有定義屬性e 總結:

從一個難以訪問的屬性讀取數據的時候 __get() 方法被調用向一個難以訪問的屬性賦值的時候 __set() 方法被調用難以訪問包括:(1)私有屬性,(2)沒有初

參考網址:

http://www.cnblogs.com/glory-jzx/archive/2012/05/23/2514173.html


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黔江区| 南和县| 平罗县| 夏邑县| 甘德县| 教育| 清水县| 乌拉特后旗| 金堂县| 麻江县| 黔东| 鹤峰县| 施甸县| 盈江县| 江陵县| 芷江| 孟州市| 彭泽县| 乌恰县| 新昌县| 炉霍县| 中西区| 老河口市| 新源县| 肥乡县| 宁强县| 南宫市| 天水市| 集贤县| 岢岚县| 宝鸡市| 澜沧| 平原县| 日土县| 宁安市| 荥经县| 韶山市| 从化市| 高唐县| 清流县| 眉山市|