0

我只是通过 curl 库让 codeigniter 理解代码。这是链接。有一个我不确定的函数 __call()。它是 CI 中的内置函数吗?我想每当调用这个库的任何方法时都会调用它,例如使用

$this->curl->simple_get();

有人可以阐明一下。我在 codeigniter 用户指南上找不到太多信息。

4

2 回答 2

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");

参考

于 2012-08-16T13:33:31.480 回答
0

__call() 是 OOP 中的一个神奇函数,如果找不到该函数,就会调用它。所以因为Curl类内部没有simple_get()函数,所以会调用__call()函数,可以看到,那里有注释,方法调用会发生什么。

于 2012-08-16T13:35:14.227 回答