ホームページ >バックエンド開発 >PHPの問題 >PHPで存在しないメソッドを呼び出す方法

PHPで存在しないメソッドを呼び出す方法

藏色散人
藏色散人オリジナル
2020-10-09 10:35:542521ブラウズ

php は存在しないメソッドを呼び出します。最初に PHP サンプル ファイルを作成し、次に疑似メソッドの静的メソッド名を設定します。次に、「$funArr」配列を使用して疑似メソッドとの間のマッピング関係を保存します。実際の非静的メソッド; 最後に、実際のメソッドの処理結果を返します。

PHPで存在しないメソッドを呼び出す方法

推奨: 「PHP ビデオ チュートリアル

php __callstatic を通じて存在しない静的メソッドにアクセスし、実際のメソッド

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

以上がPHPで存在しないメソッドを呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。