>  기사  >  백엔드 개발  >  PHP 호출 방법을 사용하는 방법

PHP 호출 방법을 사용하는 방법

藏色散人
藏色散人원래의
2020-08-08 10:34:343662검색

php 호출 메소드는 객체에서 접근할 수 없는 메소드가 호출될 때 호출되는 "__call()" 매직 메소드를 의미합니다. 호출 메소드의 형식은 "function __call(string $function_name,array $arguments){method"입니다. 몸}" .

PHP 호출 방법을 사용하는 방법

권장: "PHP Video Tutorial"

__call(), 객체에서 액세스할 수 없는 메서드가 호출될 때 호출됩니다.

이 메소드에는 두 개의 매개변수가 있습니다. 첫 번째 매개변수 $function_name은 존재하지 않는 메소드 이름을 자동으로 수신하고, 두 번째 $arguments는 존재하지 않는 메소드의 여러 매개변수를 배열 형태로 수신합니다.

1. __call() 메소드의 형식:

function __call(string $function_name, array $arguments){    // 方法体}

2. __call() 메소드의 기능:

호출된 메소드가 존재하지 않아 실수로 프로그램이 종료되는 것을 방지하려면, 이를 방지하려면 __call() 방법을 사용할 수 있습니다.

이 메소드는 호출된 메소드가 존재하지 않을 때 자동으로 호출되며 프로그램은 계속 실행됩니다.

다음 코드를 참고하세요:

<?phpclass Person{                             
    function say()    {  
                              
           echo "Hello, world!<br>"; 
    }      
        
    /**
     * 声明此方法用来处理调用对象中不存在的方法
     */    function __call($funName, $arguments)    
     { 
          echo "你所调用的函数:" . $funName . "(参数:" ;  
          // 输出调用不存在的方法名
          print_r($arguments); 
          // 输出调用不存在的方法时的参数列表          
          echo ")不存在!<br>\n"; 
          // 结束换行                      
    }                                          
}
$Person = new Person();            
$Person->run("teacher"); // 调用对象中不存在的方法,则自动调用了对象中的__call()方法$Person->eat("小明", "苹果");             
$Person->say();

실행 결과:

你所调用的函数:run(参数:Array ( [0] => teacher ) )不存在!
你所调用的函数:eat(参数:Array ( [0] => 小明 [1] => 苹果 ) )不存在!
Hello, world!

위 내용은 PHP 호출 방법을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.