简而言之就是调用了一个类中没有的方法就会自动调用__call()方法,
该参数有两个必须的参数!
第一个参数:调用的不存在的方法的方法名。
第二个参数:调用不存在的方法的参数。
但是总的说回来,__call方法的具体作用是什么呢?
目录-----------------------------------------------------------------
00x1 不存在案例。
---------------------------------------------------------------------
第一案例 CODE
<?php /** * __Class方法 */ class Human { public $name; public $sex; public $age; public function eat($a){ echo "我在吃".$a; } public function run(){ echo "我在走路"; } public function play(){ echo "我在玩"; } public function __call($method,$args){ #声明一个___call方法,注意该方法要有两个参数! echo "对不起,您输入的{$method}方法,以及属性"; print_r($args); echo "不存在"; } } $x = new Human("张大牛","男",12); $x -> test("上课") #调用test这个方法,但是并没有这个方法,系统就会自动去调用__call方法。 ?>
输出效果如下所示:
对不起,您输入的test方法,以及属性Array ( [0] => 上课 ) 不存在
THE END