Maison  >  Article  >  développement back-end  >  Comment appeler une méthode inexistante en php

Comment appeler une méthode inexistante en php

藏色散人
藏色散人original
2020-10-09 10:35:542434parcourir

php appelle une méthode inexistante : créez d'abord un exemple de fichier PHP ; puis définissez le nom de la méthode statique de la pseudo-méthode ; puis utilisez le tableau "$funArr" pour stocker la relation de mappage entre la pseudo-méthode et la vraie méthode non statique; Enfin, renvoie le résultat réel du traitement de la méthode.

Comment appeler une méthode inexistante en php

Recommandé : "Tutoriel vidéo PHP"

php accède aux méthodes statiques inexistantes via __callstatic et les mappe sur à la vraie méthode

<?php
//调用不存在的静态方法name,映射到真正的output方法
echo A::name(&#39;巴拉巴拉&#39;);
class A
{
    //$name为伪方法的静态方法名,$args为传递的参数
    public static function __callStatic($name,$args)
    {
        // $funArr数组存放伪方法与真实非非静态方法之间的映射关系
        $funArr=[&#39;name&#39;=>&#39;output&#39;, &#39;email&#39;=>&#39;email&#39;];
        if(array_key_exists($name,$funArr)){
            //把真实方法名赋给$method
            $method=$funArr[$name];
            //返回真实方法处理结果
            return (new who())->$method($args[0]);
        }else{
            return  "unknown function name".$name;
        }
    }
    
    public function output($name)
    {
        return  &#39;your name is &#39;.$name;
   }
}

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