已有40人关注
php从入门到精通 第三版 魔术方法 __set() __get()例子
发表在PHP图书答疑 2014-09-15
是否精华
版块置顶:
Warning: The magic method __get() must have public visibility and cannot be static in 
C:\ …………xxx.php on line 29

 


Warning: The magic method __set() must have public visibility and cannot be static in 
C:\ …………xxx on line 37

----------------------------------------
下列例子 运行 有如上警告!!
在网上看了下,魔术方法 不能使 private
要用public           管理员解释下!

---------------------------------------
<?php
class SportObject
{
private $type = ' ';
public function getType(){
return $this -> type;
}
    private function __get($name){
if(isset($this ->$name)){
echo '变量'.$name.'的值为:'.$this -> $name.'<br>';
}
else{
echo '变量'.$name.'未定义,初始化为0<br>';
$this -> $name = 0;
}
    }
    private function __set($name, $value){
if(isset($this -> $name)){
$this -> $name = $value;
echo '变量'.$name.'赋值为:'.$value.'<br>';
}else{
$this -> $name = $value;
echo '变量'.$name.'被初始化为:'.$value.'<br>';
}
    }
}
$MyComputer = new SportObject();
$MyComputer -> type = 'DIY';
$MyComputer -> type;
$MyComputer -> name;
?> 
------------------------------------------------
分享到:
精彩评论 1
轻鸿_mrkj
学分:0 LV1
TA的每日心情
加油
2020-12-25 20:06:49
2014-09-15
沙发
读者您好:
本书实例代码,此处书写确实有误。
魔术方法的访问权限必须为public。
对于此处错误,我们深感抱歉!感谢您的细心纠正与建议,我们在这本书的第四版会将错误全部修正。再次谢谢您。
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照