Maison > Article > développement back-end > Comment utiliser __call() et __callStatic() en PHP
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 '你想调用我不存在的方法',$method,'方法<br/>'; echo '还传了一个参数<br/>'; echo print_r($arg),'<br/>'; } $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 '你想调用我不存在的',$method,'静态方法<br/>'; echo '还传了一个参数<br/>'; echo print_r($arg),'<br/>'; } } test::cry('痛哭','鬼哭','号哭'); ?>
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
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!