Maison  >  Article  >  développement back-end  >  Explication détaillée de l'utilisation de PHP__call et __callStatic

Explication détaillée de l'utilisation de PHP__call et __callStatic

小云云
小云云original
2018-02-03 10:06:251480parcourir

Cet article présente principalement les méthodes __call et __callStatic des méthodes magiques PHP. Les amis dans le besoin peuvent s'y référer, j'espère que cela pourra vous aider.

Core Code


//魔术方法__call 
/* 
$method 获得方法名 
$arg 获得方法的参数集合 
*/
class Human {
 private function t(){

 }

 public function __call($method,$arg){
  echo &#39;你想调用我不存在的方法&#39;,$method,&#39;方法<br/>&#39;; 
  echo &#39;还传了一个参数<br/>&#39;; 
  echo print_r($arg),&#39;<br/>&#39;; 
 }

 public static function __callStatic($method,$arg){
  echo &#39;你想调用我不存在的&#39;,$method,&#39;静态方法<br/>&#39;; 
  echo &#39;还传了一个参数<br/>&#39;; 
  echo print_r($arg),&#39;<br/>&#39;; 
 }
}


$ha = new Human();

//example1
$ha->t(1,2,3);

echo &#39;<br>&#39;;
//example2
$ha->say(&#39;a&#39;,&#39;b&#39;,&#39;c&#39;);

echo &#39;<br>&#39;;
//example3
$ha::run(&#39;d&#39;,&#39;e&#39;,&#39;f&#39;);

Vous souhaitez appeler ma méthode inexistante, la méthode t
a également passé un paramètre
Array ( [0] => 1 [1] => 2 [2] => 3 )

Vous souhaitez appeler ma méthode inexistante, par exemple méthode
Vous avez également passé un paramètre
Array ( [0] => a [1] => b [2] => c )

Vous souhaitez appeler ma méthode statique d'exécution inexistante
Vous avez également passé un paramètre
Array ( [0] => d [1] => e [2] => f )

Recommandations associées :

Méthode magique de PHP __get (), __set(), __call(), __callStatic() et explication détaillée de l'utilisation statique

Explication détaillée de l'utilisation et de la différence entre __call et __callStatic en php

php __call et __callStatic

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn