2012-08-16 73 views
0

我剛剛通過codeigniter的curl庫來了解代碼。這裏是link。有這個函數__call(),我不知道。它是CI中的內置函數嗎?我想這是調用這個庫的任何方法時,如調用,例如使用codeigniter庫中的__call函數

$this->curl->simple_get(); 

有人可以請擺脫燈光。我找不到關於codeigniter用戶指南的更多信息。

回答

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

0

__call()是OOP一個神奇的功能,如果該功能是它的調用未找到。因此,因爲Curl類中沒有simple_get()函數,所以__call()函數將被調用,並且您可以看到,那裏有註釋,方法調用會發生什麼。