test(1, "2", 3.4, true)」。"/> test(1, "2", 3.4, true)」。">

首頁  >  文章  >  後端開發  >  php __call方法如何使用

php __call方法如何使用

藏色散人
藏色散人原創
2020-08-28 09:57:482512瀏覽

php __call方法是呼叫未定義的方法時呼叫的,使用語法如“$foo->__call('test', array(1, "2", 3.4, true))”,也就是相當於「$foo->test(1, "2", 3.4, true)」。

php __call方法如何使用

推薦:《PHP影片教學

php魔術方法__call的用法

__call是呼叫未定義的方法時所呼叫的。

也就是說,你的test方法未定義,那麼test這個方法名稱就會作為__call的第一個參數傳入,而test的參數會被裝進數組中作為__call的第二個參數傳入。

所以當你呼叫$foo->test(1, "2", 3.4, true)時,實際上是相當於呼叫$foo->__call('test', array(1, " 2", 3.4, true))。

__call方法在呼叫類別的方法時觸發,例如:

<?php
class google{
    public function search(){
        //TODO
    }
    public function __call($method, $parameters){
        //这里的method便是对应的方法,即"->"后面的字符串,$parameters是通过这个方法传过来的参数
    }
}
 
$google = new google();
$keyword = &#39;VR&#39;;
$google->search($keyword);
//当调用当前对象不存在的方法时,会转向__call
$google->operate();

利用__call可以做些封裝,從而呼叫其它物件和方法。

以上是php __call方法如何使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn