1.__call() 作用,当调用不存在的方法时,会调用该方法。实际应用,当程序调用不存在的方法时,意外导致程序终止。
.或者当你调用了受保护的或者是私人的方法时,也会自动调用__call方法
结果:
2.__callStatic()
形式:__callStatic($name,$arr){}
应用场景:
(1):对象调用未定义的静态函数时,自动调用
结果呢:__callStatic里的输出语句了
(2).调用私有或者受保护的静态方法时,会自动调用
结果显而易见:
小结:
1.对于未定义属性进行自动调用的魔术方法有:
(1).__get($obj): 当调用未定义属性时,自动调用
(2).__set($onj):对未定义属性进行赋值时,自动调用
2.对于未定义方法进行自动调用的魔术方法有
(1).__call($name,$arr): 当调用未定义函数时,自动调用
(2).__callStatic($name,$arr):当调用未定义静态函数时,自动调用
3.对原属性进行操作的魔术方法有:
(1).__isset($obj):检测属性是否存在
(2).__unset($obj):将属性进行销毁
4.以上所有魔术方法在调用私有或者受保护的属性或者方法时,自动调用.