首頁 >後端開發 >php教程 >PHP中__call()和__callStatic()使用方法

PHP中__call()和__callStatic()使用方法

小云云
小云云原創
2018-03-26 10:54:282120瀏覽

本文主要和大家分享PHP中__call()和__callStatic()使用方法,希望能幫助大家。對於這兩種方法的使用,不做過多的解釋,透過實例程式碼和結果,大家可以更清楚的認識兩者的作用。

  1.__call()方法。當呼叫一個沒有在類別中宣告的方法時,可以呼叫__call()方法來代替宣告一個方法。接受方法名和陣列作為參數。

程式碼實例:

<?php  
class test{  
//魔术方法__call  
/* 
$method 获得方法名 
$arg 获得方法的参数集合 
*/  
public function __call($method,$arg){  
    echo &#39;你想调用我不存在的方法&#39;,$method,&#39;方法<br/>&#39;;  
    echo &#39;还传了一个参数<br/>&#39;;  
    echo print_r($arg),&#39;<br/>&#39;;  
  }   
$list=new test();  
$list->say(1,2,3);  
  
?>

執行結果:

你想呼叫我不存在的方法say方法
也傳了一個參數
Array ( [0] => 1 [1] => 2 [2] => 3 )

2.__callStatic ()方法。從PHP5.3開始出現此方法,當建立一個靜態方法以呼叫該類別中不存在的一個方法時使用此函數。與__call()方法相同,接受方法名稱和陣列作為參數。

程式碼實例:

<?php  
class test{  
//魔术方法__callStatic 
/* 
$method 获得方法名 
$arg 获得方法的参数集合 
*/  
//魔术方法__callStatic  
public static function __callStatic($method,$arg){  
  
    echo &#39;你想调用我不存在的&#39;,$method,&#39;静态方法<br/>&#39;;  
    echo &#39;还传了一个参数<br/>&#39;;  
    echo print_r($arg),&#39;<br/>&#39;;  
  }  
  
}  
test::cry(&#39;痛哭&#39;,&#39;鬼哭&#39;,&#39;号哭&#39;);  

?>

執行結果:
你想呼叫我不存在的cry靜態方法
也傳了一個參數
Array ( [0] => 痛哭[1] => 鬼哭[2] => 號哭)

相關推薦:

php中__call()方法如何使用與重載實例分析

#php魔術函式__call()用法實例分析_PHP教學

php的魔術方法__get(),__set(),__call(),__callStatic()以及static用法詳解

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

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