在php编程中,__call()是一个魔术方法,当调用一个类里的方法,而该方法又不存在里,就会自动调用__call();
来看具体的实例:
<?php
class Caller
{
private $x = array(1, 2, 3);
public function __call($m, $a)
{
print "Method $m called:n";
var_dump($a);
return $this->x;
}
}
$foo = new Caller();
$a = $foo->test(1, "2", 3.4, true);
var_dump($a);
代码说明:
上面__call 第一个参数$m 就是你要调用的方法名 test。
第二个参数 是你调用方法传的参数 被当作数据传进来。
输出结果:
输出完成 (耗时 0 秒) – 正常终止
此函数的用途,可以自动获取参数?自动加载数据库的n多表?
大家在使用中慢慢琢磨与体会吧。