Heim >Backend-Entwicklung >PHP-Tutorial >So verwenden Sie __call() und __callStatic() in PHP

So verwenden Sie __call() und __callStatic() in PHP

小云云
小云云Original
2018-03-26 10:54:282119Durchsuche

In diesem Artikel erfahren Sie hauptsächlich, wie Sie __call() und __callStatic() in PHP verwenden. Ich hoffe, er kann Ihnen helfen. Ich werde nicht zu viel über die Verwendung dieser beiden Methoden erklären. Durch den Beispielcode und die Ergebnisse kann jeder die Funktionen der beiden besser verstehen.

1.__call()-Methode. Wenn Sie eine Methode aufrufen, die nicht in der Klasse deklariert ist, können Sie die Methode __call() aufrufen, anstatt eine Methode zu deklarieren. Akzeptiert Methodennamen und Array als Parameter.

Codebeispiel:

<?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);  
  
?>

Ausführungsergebnis:

Sie möchten meine nicht existierende Methode say method
aufrufen Außerdem wurde ein Parameter
Array ( [0] => 1 [1] => 2 [2] => 3 )

2 übergeben .__callStatic()-Methode. Diese Methode gibt es seit PHP5.3 und wird beim Erstellen einer statischen Methode verwendet, um eine Methode aufzurufen, die in der Klasse nicht vorhanden ist. Identisch mit der Methode __call(), akzeptiert den Methodennamen und das Array als Parameter.

Codebeispiel:

<?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;);  

?>

Ausführungsergebnis:
Sie möchten meine nicht vorhandene Cry-Static-Methode aufrufen
Sie haben auch bestanden ein Parameter
Array ([0] => Cry[1] => Ghost Cry[2] => Cry)

Verwandte Empfehlungen :

So verwenden Sie die __call()-Methode in PHP und Überladungsbeispielanalyse

PHP Magic Function __call() Verwendungsbeispielanalyse_PHP-Tutorial

PHPs magische Methoden __get(), __set(), __call(), __callStatic() und detaillierte Erklärung der statischen Verwendung

Das obige ist der detaillierte Inhalt vonSo verwenden Sie __call() und __callStatic() in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn