-
自php5.3以后魔术方法中就多出了两个新成员__call、__callStatic
-
说明
- __call:在对象中调用一个不可访问方法时,__call() 会被调用。
- 在静态上下文中调用一个不可访问方法时,__callStatic() 会被调用。
-
-
举例:
class overwrite { public function __call($method, $arguments) { var_dump($name . '---call'); var_dump($arguments); } public static function __callStatic($method, $arguments) { var_dump($name . '--callstatic'); var_dump($arguments); } } $now = new overwrite(); $now->suprise(); overwrite::make(); 输出: string(19) "suprise---call" array(1) { [0]=> string(3) "111" } string(21) "make--callstatic" array(1) { [0]=> string(3) "222" }
- 从上述例子中,可以清楚明白的看出来了ಠ_ರೃ,当调用不存在的方法、静态方法时,会调用__call、__callStatic
打印其中参数会输出方法和参数,参数以数组的形式显示