codeigniter库中的__call函数

时间:2012-08-16 13:22:49

标签: codeigniter

我刚刚通过curl库找到codeigniter来理解代码。这是link。有这个函数__call(),我不确定。它是CI中的内置功能吗?我想只要调用这个库的任何方法就会调用它,例如使用

$this->curl->simple_get();

有人可以解雇。我找不到有关codeigniter用户指南的更多信息。

2 个答案:

答案 0 :(得分:4)

否 - __call()是一个php函数。它被称为神奇的方法之一。

魔术方法__call()是未声明的方法,__get()__set()是未声明的数据成员。

当程序厌倦执行在开发时尚未在类中定义的方法时,会自动在内部调用这些方法。

__call()有两个参数。第一个参数是程序调用的未声明方法的名称,第二个参数是包含传递给未声明数组的参数列表的数组

实施例

class Customer {

    public function __call($name, $args) {
        var_dump($name);
        echo "\n";
        var_dump($args);
        echo "\n";
    }
}

$c = new Customer();
$c->setName("some","name");

Ref

答案 1 :(得分:0)

__ call()是OOP中的魔术函数,如果找不到该函数则调用它。因为在Curl类中没有simple_get()函数,所以将调用__call()函数,你可以看到,那里有一个注释,方法调用会发生什么。