💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
魔术方法__get()在我们尝试访问一个不存在的属性时会被调用。它接收一个参数,该参数表示访问属性的名字,并且将该属性的值返回。在上面的Device类里,有一个data属性,该属性就在这里就起了作用 <?php class Get { public function __get($name) { echo $name; } } $gao = new Get(); $gao->name; ?> 输出name 该魔术方法最常用的地方就是通过创建一个“只读”的属性来扩展访问控制。在上面的Battery类中,有一个私有属性$charge,我们可以通过__get()魔术方法将该属性扩展为在类外部可读但不能修改。代码如下: <?php class Get { private $name = 'gaochangjian'; public function __get($name) { if (isset($this->name)) { echo $this->$name; } else { echo '没有'; } } } $gao = new Get(); $gao->name; ?>