有关PHP的__call学习参考

发布时间:2020-12-15编辑:脚本学堂
本文介绍下,php中的__call的用法,有需要的朋友,参考下吧。

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。
第二个参数 是你调用方法传的参数 被当作数据传进来。

输出结果:
 

———- php ———-
Method test called:
array(4) {
[0]=> int(1)
[1]=> string(1) “2″
[2]=> float(3.4)
[3]=> bool(true)
}
array(3) {
[0]=> int(1)
[1]=> int(2)
[2]=> int(3)
}
 

输出完成 (耗时 0 秒) – 正常终止

此函数的用途,可以自动获取参数?自动加载数据库的n多表?
大家在使用中慢慢琢磨与体会吧。