跟着百度学PHP[4]OOP面对对象编程-15-魔术方法__call方法

简而言之就是调用了一个类中没有的方法就会自动调用__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


原文地址:https://www.cnblogs.com/xishaonian/p/6194278.html