核心代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
//魔术方法__call
/*
$method 获得方法名
$arg 获得方法的参数集合
*/
class Human {
private function t(){
}
public function __call( $method , $arg ){
echo '你想调用我不存在的方法' , $method , '方法<br/>' ;
echo '还传了一个参数<br/>' ;
echo print_r( $arg ), '<br/>' ;
}
public static function __callStatic( $method , $arg ){
echo '你想调用我不存在的' , $method , '静态方法<br/>' ;
echo '还传了一个参数<br/>' ;
echo print_r( $arg ), '<br/>' ;
}
}
$ha = new Human();
//example1
$ha ->t(1,2,3);
echo '<br>' ;
//example2
$ha ->say( 'a' , 'b' , 'c' );
echo '<br>' ;
//example3
$ha ::run( 'd' , 'e' , 'f' );
|
你想调用我不存在的方法t方法
还传了一个参数
Array ( [0] => 1 [1] => 2 [2] => 3 )
你想调用我不存在的方法say方法
还传了一个参数
Array ( [0] => a [1] => b [2] => c )
你想调用我不存在的run静态方法
还传了一个参数
Array ( [0] => d [1] => e [2] => f )