首頁 >後端開發 >PHP問題 >php如何呼叫不存在的方法

php如何呼叫不存在的方法

藏色散人
藏色散人原創
2020-10-09 10:35:542520瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn