class Student { public function Test0() { echo "执行了无参数的方法"; } public function Test1($id) { echo "执行了1个参数的方法"; } //魔术方法,当系统找不到指定的函数后,最后执行次魔术方法 function __call($method,$p) { if($method=="Test")//判断方法名 { if(count($p)==0)//判断参数个数 { $this->Test0(); }else if(count($p)==1) { $this->Test1($p); } } } } $stu = new Student(10001,"张三"); $stu->Test(); echo "<br/>"; $stu->Test(1);
输出:
执行了无参数的方法
执行了1个参数的方法