栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

PHP致命错误:无法访问空属性

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PHP致命错误:无法访问空属性

您以错误的方式访问属性。使用

$this->$my_value = ..
语法,可以使用$
my_value中的值名称设置属性。你想要的是
$this->my_value = ..

$var = "my_value";$this->$var = "test";

是相同的

$this->my_value = "test";

为了解决您的示例中的一些问题,下面的代码是一个更好的方法

class my_class {    public  $my_value = array();    function __construct ($value) {        $this->my_value[] = $value;    }    function set_value ($value) {        if (!is_array($value)) { throw new Exception("Illegal argument");        }        $this->my_value = $value;    }    function add_value($value) {        $this->my_value = $value;    }}$a = new my_class ('a');$a->my_value[] = 'b';$a->add_value('c');$a->set_value(array('d'));

这样可以确保在调用set_value时,my_value不会将其类型更改为字符串或其他类型。但是您仍然可以直接设置my_value的值,因为它是公共的。最后一步是将my_value设为私有,并且仅通过getter
/ setter方法访问my_value



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/421636.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号