永发信息网

PHP类__get()函数疑问

答案:2  悬赏:0  手机版
解决时间 2021-03-23 16:11
PHP类__get()函数疑问
最佳答案
__get()
是php的一个魔术方法, 用于获取类对象中的私有变量
这个魔术方法,有一个参数是必须的, 也就是你说的那个$name
这里不能说$name和$attribute有没有关系,不是你这样理解的!
所谓变量,他的具体的值,是未知的,不是固定的,具体是什么值,在于你在调用的时候,提供的是什么值
比如:
class  classname {
   private $attribute;
 
   private function __get( $name ) {
    return $this -> $name;
  }  
   
}  
//那么我们调用一下这个类:
$Class = new classname;//实例化类
echo $Class ->  attribute; //这里调用的时候,是访问的类的attribute私有变量, 那么,这个时候,你所说的$name和$attribute就有关系了, $name的值就是attribute
echo $Class -> abcd; //这个时候, $name和$attribute就没有关系了,因为$name的值,这个时候是abcd; 这样你应该能理解吧?
 
有一点要注意的就是:如果一个类中,你打算使用 __get() 、 __set()这2个魔术方法的话, 那么,你的类成员变量应该设置为私有( private ), 而不是公共( public )
否则, 你的这2个魔术方法,有点画蛇添足。。。。
全部回答
__get方法不是需要传递一个参数么
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
信用社股金能不能转让
南中今年高考最高分是多少
什么是粉末喷涂,什么是氟碳喷涂,不锈钢表面
谢华写的(守望)的读后感
风吹麦浪诗歌,求有关(忆峥嵘岁月,诵红色经
大神们,我是一个海外华人,我前几天在淘宝上
怎样办理渔民证需要多少钱
猫肉和蛇肉煲猫爪草有什么功效
单选题Thesoldierwaskilledbecauseherefuse
梦魇的台词,英雄联盟永恒梦魇上古战魂皮肤多
郝淑萍蜀绣工作室在什么地方啊,我要过去处理
刺客信条编年史 中国 是刺客信条的正版吗,是
如图,直线EF分别交AB、CD于G、H.∠1=60°,
奋斗小男孩如今长什么样
如何在酷我音乐合播放器里显示自己编的歌词
推荐资讯
蕙字是什么意思
唯美带古风有东字的4字词语多给几个
'开江县甘棠镇是不存在的公司申通快递吗
广州周边有什么好玩的地方
活塞环槽为什么要带锥度
村股权证明怎么开
C300*80*20*2.5理论重量是多少
关于学校的安全标语,中秋节防火消防宣传标语
家庭怎样煮五香干豆腐
玉溪财贸学校有哪些专业?
a4怎样显示平均油耗
甘肃天水的文化
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?