我只是通过 curl 库让 codeigniter 理解代码。这是链接。有一个我不确定的函数 __call()。它是 CI 中的内置函数吗?我想每当调用这个库的任何方法时都会调用它,例如使用
$this->curl->simple_get();
有人可以阐明一下。我在 codeigniter 用户指南上找不到太多信息。
我只是通过 curl 库让 codeigniter 理解代码。这是链接。有一个我不确定的函数 __call()。它是 CI 中的内置函数吗?我想每当调用这个库的任何方法时都会调用它,例如使用
$this->curl->simple_get();
有人可以阐明一下。我在 codeigniter 用户指南上找不到太多信息。
否 - __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");
__call() 是 OOP 中的一个神奇函数,如果找不到该函数,就会调用它。所以因为Curl类内部没有simple_get()函数,所以会调用__call()函数,可以看到,那里有注释,方法调用会发生什么。