php中在利用__get获取成员属性

php中在利用__get获取成员属性

php中在利用__get获取成员属性,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

说明

1、可以在对象外部获取私有成员属性,__get()不光只是获取当前类的私有成员变量,还能在这个方法里面做其他操作,比如实例化另一个类、获取另一个类的对象。

2、如果成员属性不封装成私有的,对象本身就不会去自动调用这个方法。

实例

<?php
class autofelix
{
    private $name = 'autofelix';
 
    public function __get($name)
    {
        if(in_array($name, ['name', 'age'])) {
           echo $this->name;
        } else {
            echo '不是什么东西都能访问的~';
        }
    }
}
 
$a = new autofelix();
$a->name;
 
//即可输出:autofelix

看完上述内容,你们掌握php中在利用__get获取成员属性的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!