Maison  >  Article  >  développement back-end  >  Comment utiliser __call() et __callStatic() en PHP

Comment utiliser __call() et __callStatic() en PHP

小云云
小云云original
2018-03-26 10:54:282085parcourir

Cet article explique principalement comment utiliser __call() et __callStatic() en PHP. J'espère qu'il pourra vous aider. Sans trop donner d'explications sur l'utilisation de ces deux méthodes, grâce à l'exemple de code et aux résultats, chacun peut comprendre plus clairement les fonctions des deux.

Méthode 1.__call(). Lorsque vous appelez une méthode qui n'est pas déclarée dans la classe, vous pouvez appeler la méthode __call() au lieu de déclarer une méthode. Accepte le nom de la méthode et le tableau comme paramètres.

Exemple de code :

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

Résultat de l'exécution :

Vous souhaitez appeler ma méthode inexistante, dites méthode
A également transmis un paramètre
Array ( [0] => 1 [1] => 2 [2] => 3 )

2 Méthode .__callStatic(). Cette méthode est apparue depuis PHP5.3 et est utilisée lors de la création d'une méthode statique pour appeler une méthode qui n'existe pas dans la classe. Identique à la méthode __call(), acceptant le nom de la méthode et le tableau comme paramètres.

Exemple de code :

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

?>

Résultat de l'exécution :
Vous souhaitez appeler ma méthode statique de cri inexistante
Vous avez également réussi un paramètre
Array ([0] => Cry[1] => Ghost Cry[2] => Cry)

Recommandations associées :

Comment utiliser la méthode __call() en php et surcharge exemple d'analyse

fonction magique php __call() exemple d'utilisation analyse_PHP tutoriel

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

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