先看看官方文档的解释__set() is run when writing data to inaccessible properties.__get() is utilized for reading data from inaccessible properties.究竟用中文怎么翻译呢? inaccessible :n. 难达到;难接近;无法理解。有代码有真相:
结果:如果没有__get方法,执行 var_dump($s->a) var_dump($s->b) 会有致命的错误如果没有__get方法,执行 var_dump($s->e) 会有一个notice,提示没有定义属性 $e总结:1. 从一个难以访问的属性读取数据的时候 __get() 方法被调用2. 向一个难以访问的属性赋值的时候 __set() 方法被调用3. 难以访问包括:(1)私有属性,(2)没有初始化的属性4. __isset() __unset() 也类似
以上就介绍了php 魔术方法__set __get 方法,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。