>  기사  >  백엔드 개발  >  PHP에서 존재하지 않는 메소드를 호출하는 방법

PHP에서 존재하지 않는 메소드를 호출하는 방법

藏色散人
藏色散人원래의
2020-10-09 10:35:542498검색

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으로 문의하세요.