php魔术方法call()和callStatic()

__call

当调用无权限或者不存在的方法,并且带有参数,想调用会被自动执行数组



__callStatic 是调用不可见的静态方法,自动调用

class Weather{



public function __call($m,$args){

echo $m,'天气预报';


}


public function __callStatic($M,$K){

echo "你想调用我的一个不存在静态方法".$M;

echo "你调用了还传了参数",'
';

print_r($K);

}

}

$ation=new Weather();

$method=$_GET['method'];

if($method){

$ation->$method();

}

Weather::show(1,5,9);

class Human{



public function hello(){

echo 'hello';

}

public function __call($m,$k){

echo "你想调用我一个不存在的方法".$m."
";

echo "并且还传了参数"."
";

print_r($k);

}

}

$a=new Human();

//$a->hello();

$a->cry('a','b','c');

?>

你可能感兴趣的:(php魔术方法call()和callStatic())