php 호출 메소드는 객체에서 접근할 수 없는 메소드가 호출될 때 호출되는 "__call()" 매직 메소드를 의미합니다. 호출 메소드의 형식은 "function __call(string $function_name,array $arguments){method"입니다. 몸}" .
권장: "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 중국어 웹사이트의 기타 관련 기사를 참조하세요!