究竟用中文怎么翻譯呢? inaccessible :n. 難達到;難 " /> 婷婷精品视频,国产观看精品一区二区三区,伊人久久大香线

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

詳解php的魔術方法__get()和__set()使用介紹

先看看php官方文檔的解釋:
__set() is run when writing data to inaccessible properties.
__get() is utilized for reading data from inaccessible properties.

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

有代碼有真相:
復制代碼 代碼如下:
<?php
error_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: 123
var_dump($s->b); //output: 123
var_dump($s->c); //output: null
var_dump($s->d); //output: 0
var_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) var_dump($s->b) 會有致命的錯誤
如果沒有__get方法,執行 var_dump($s->e) 會有一個notice,提示沒有定義屬性 $e

總結:
1. 從一個難以訪問的屬性讀取數據的時候 __get() 方法被調用
2. 向一個難以訪問的屬性賦值的時候 __set() 方法被調用
3. 難以訪問包括:(1)私有屬性,(2)沒有初始化的屬性
4. __isset() __unset() 也類似

php技術詳解php的魔術方法__get()和__set()使用介紹,轉載需保留來源!

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

主站蜘蛛池模板: 成人免费福利视频 | 国产精品女同一区二区久久夜 | 国产玖玖在线 | 91免费国产 | 91热国内精品永久免费观看 | 久久好看视频 | 天天干网址 | 91不卡在线精品国产 | 青草社区视频 | 色交视频| 国内精品91久久久久 | 国内一级特黄女人精品毛片 | 一二三四在线播放免费视频中国 | 婷婷综合色伊人阁 | 国语对白精品视频在线观看 | 国产精品嫩草影视在线观看 | 综合区小说区图片区在线一区 | 一区二区三区观看 | 免费人成在线蜜桃视频 | 九月激情网 | 麻豆一区区三三四区产品麻豆 | 玖玖爱视频在线 | 国产在线观看91精品2022 | 91视频无限看 | 婷婷伊人久久 | 久久大胆人体 | 很黄很暴力深夜爽爽无遮挡 | 香蕉av影院| 加勒比东洋精品映画防屏蔽 | 综合色99| 美女一区二区三区 | 色五月情 | 中日韩新区| 免费国产最新进精品视频 | 国产欧美一区二区三区在线 | china精品对白普通话 | 欧美成人网在线综合视频 | 色综合天天综合网站中国 | 色涩播| 国产中文字幕第一页 | 四虎影视国产永久免费 |