background image

 

 

结果分析:
如果没有__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() 也类似