魔术方法之__call、__callStatic

 

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.以上所有魔术方法在调用私有或者受保护的属性或者方法时,自动调用.

 

posted @ 2019-07-27 14:42  哟~好莱坞  阅读(205)  评论(0编辑  收藏  举报
Live2D
虚琨 2019/9/21 星期六 10:46:02