<?php
class human{
private function t(){
}
/**
* 魔术方法__call
*
* @param string $method 获得方法名
* @param string $arg 获得方法的参数集合
*/
public function __call($method, $params){
echo '你想调用我不存在的方法', $method, '方法';
echo '还传了一个参数';
print_r($params);
}
//魔术方法__callStatic
public static function __callStatic($method, $params){
echo '你想调用我不存在的', $method, '静态方法';
echo '还传了一个参数';
print_r($params),'';
}
}
$li=new human();
$li->say(1, 2, 3);
/*
__call是调用不可见(不存在或无权限)的方法时,自动调用
$li->say(1, 2, 3);
-----没有say()方法---->
__call('say', array(1, 2, 3))运行
*/
human::cry('痛哭', '鬼哭', '号哭');
/*
__callStatic 是调用不可见的静态方法时,自动调用.
Human::cry('a', 'b', 'c');
----没有cry方法--->
Human::__callStatic('cry', array('a', 'b', 'c'));
*/
?>