php5.3.5 __set()方法报错怎么解决

newborn2011it 2011-02-16 02:41:33
<?php
class CarInfo
{
private $cid;
private $cname;
private $pid;
private $pname;
private $oid;
private $oname;
private $model;
private $frameNo;
private $amount;
private $acquisitionTime;
private $imageUrl;

private function __get($property_name)
{
if(isset($this->$property_name))
{
return($this->$property_name);
}
else
{
return(NULL);
}
}

private function __set($property_name, $value)
{
$this->$property_name = $value;
}
}
?>

在其他没环境下好使没有问题

但是php5.35中报错


Warning: The magic method __set() must have public visibility and cannot be static in E:\phpweb\phpOA\Model\ModuleInfo.class.php on line 24
请问怎么解决 谢谢
...全文
292 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
phpnop 2011-11-13
  • 打赏
  • 举报
回复
那书上用的版本是5.2.6,看书要仔细啊..
sjqzone 2011-11-08
  • 打赏
  • 举报
回复
[Quote=引用楼主 newborn2011it 的回复:]
<?php
class CarInfo
{
private $cid;
private $cname;
private $pid;
private $pname;
private $oid;
private $oname;
private $model;
private $frameNo;
private $amount;
private $acquisitionTime;……
[/Quote]
同学这些问题百度下,比在这等好多了。
zhanxingxing1 2011-11-04
  • 打赏
  • 举报
回复
我也是被lamp给误导的, 在这来找到答案了
PHP编程者 2011-09-05
  • 打赏
  • 举报
回复
来学习了,
码无边 2011-09-05
  • 打赏
  • 举报
回复
public
tony-杨 2011-09-04
  • 打赏
  • 举报
回复
private function __get
private function __set
The magic method __set() must have public visibility and cannot be static in
------------------
建议你看下private、protected、public之间的区别
Kogeo 2011-09-03
  • 打赏
  • 举报
回复
看来都被坑过。
极限码农 2011-09-03
  • 打赏
  • 举报
回复
又是一个被LAMP兄弟连教程给误导的啊
miantiao522 2011-08-04
  • 打赏
  • 举报
回复
报错说得很明白,改成public。
lamp兄弟的教程误导了?
phper002 2011-02-16
  • 打赏
  • 举报
回复
public
newborn2011it 2011-02-16
  • 打赏
  • 举报
回复
因为5.35对魔术方法限制的严格了
newborn2011it 2011-02-16
  • 打赏
  • 举报
回复
解决了魔术方法的 private 换成公开的 public 就可以了
wisword 2011-02-16
  • 打赏
  • 举报
回复
错误提示不是说得很明白了吗?__set()方法必须是public的

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧