1 <?php
2 #调用类中没有的方法时, 会自动调用__call方法重载
3 #第一个参数是调用时的方法名, 第二个参数为参数组成的数组
4 class Cat{
5 public function Hello(){
6 echo "Hello, __call<br />";
7 }
8 public function World($value){
9 echo "The World:",$value[0],'<br />';
10 }
11 #__call(参数1method, 参数2$value)
12 public function __call($method, $value){
13 if(count($value) == 0){
14 $this->Hello();
15 }elseif(count($value) == 1){
16 $this->World($value);
17 }else{
18 echo "You call the function is:",(string)$method,'<br />';
19 }
20
21 }
22 }
23
24 $method = new Cat();
25 $method->METHOD();
26 $method->METHOD(1);
27 $method->METHOD('a',1);
结果:
Hello, __call
The World:1
You call the function is:METHOD