首頁 >後端開發 >PHP問題 >php call方法怎麼用

php call方法怎麼用

藏色散人
藏色散人原創
2020-08-08 10:34:343691瀏覽

php call方法指的是「__call()」魔術方法,是在物件中呼叫一個不可存取方法時調用,call方法的格式是「function __call(string $function_name,array $arguments){方法體}」。

php call方法怎麼用

推薦:《PHP影片教學

 __call(),在物件中呼叫一個不可存取方法時調用。

此方法有兩個參數,第一個參數 $function_name 會自動接收不存在的方法名,第二個 $arguments 則以陣列的方式接收不存在方法的多個參數。

1、 __call() 方法的格式:

function __call(string $function_name, array $arguments){    // 方法体}

2、 __call() 方法的作用:

為了避免當呼叫的方法不存在時產生錯誤,而意外的導致程序中止,可以使用__call() 方法來避免。

該方法在調用的方法不存在時會自動調用,程式仍會繼續執行。

請參考以下程式碼:

<?phpclass Person{                             
    function say()    {  
                              
           echo "Hello, world!<br>"; 
    }      
        
    /**
     * 声明此方法用来处理调用对象中不存在的方法
     */    function __call($funName, $arguments)    
     { 
          echo "你所调用的函数:" . $funName . "(参数:" ;  
          // 输出调用不存在的方法名
          print_r($arguments); 
          // 输出调用不存在的方法时的参数列表          
          echo ")不存在!<br>\n"; 
          // 结束换行                      
    }                                          
}
$Person = new Person();            
$Person->run("teacher"); // 调用对象中不存在的方法,则自动调用了对象中的__call()方法$Person->eat("小明", "苹果");             
$Person->say();

運行結果:

你所调用的函数:run(参数:Array ( [0] => teacher ) )不存在!
你所调用的函数:eat(参数:Array ( [0] => 小明 [1] => 苹果 ) )不存在!
Hello, world!

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

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