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