PHP 重载方法 __call()
程序员文章站
2022-04-01 14:01:17
...
PHP 重载方法 __call()
__call() 方法用于监视错误的方法调用。
__call()(Method overloading)
为了避免当调用的方法不存在时产生错误,可以使用 __call() 方法来避免。该方法在调用的方法不存在时会自动调用,程序仍会继续执行下去。
语法:
function __call(string $function_name, array $arguments)
{
......
}
该方法有两个参数,第一个参数 $function_name 会自动接收不存在的方法名,第二个 $args 则以数组的方式接收不存在方法的多个参数。
在类里面加入:
function __call($function_name, $args)
{
echo "你所调用的函数:$function_name(参数:<br />";
var_dump($args);
echo ")不存在!";
}
当调用一个不存在的方法时(如 test() 方法):
$p1=new Person();
$p1->test(2,"test");
输出的结果如下:
你所调用的函数:test(参数:
array(2) {
[0]=>int(2)
[1]=>string(4) "test"
}
)不存在!
推荐阅读
-
php是好入门难精通吗解决方法
-
突破php上传文件大小限制的配置方法
-
PHP使用mysql_fetch_row查询获得数据行列表的方法,phpmysql_fetch_row_PHP教程
-
删除mysql数据库所有数据表方法_PHP教程
-
ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法 原创,thinkphprun_PHP教程
-
CentOS下php使用127.0.0.1不能连接mysql的解决方法_MySQL
-
关于session不能自动去除的临时处理方法(转载)我一直没用SESSI_PHP
-
CodeIgniter错误mysql_connect(): No such file or directory解决方法_php实例
-
Codeigniter检测表单post数据的方法_php实例
-
php通过array_merge()函数合并两个数组的方法,array_merge数组_PHP教程