__call() 매직 메소드란 무엇인가요?
__call은 매직 메서드 중 하나입니다. 프로그램이 현재 클래스에서 선언되지 않았거나 호출 권한이 없는 메서드를 호출하는 경우 __call 메서드가 호출됩니다. __call() 메소드에는 메소드 이름과 메소드 매개변수라는 두 개의 매개변수가 포함되어 있습니다. 그 중 메소드 파라미터는 배열 형태로 존재합니다.
모두의 이해를 돕기 위해 간단한 예를 들어 보겠습니다.
<?php header("content-type:text/html;charset=utf-8"); class Sport{ public function run(){ echo '方法存在直接调用我'; } function __call($name, $arguments) { echo '方法不存在调用我'; echo '<br/>'; echo '方法名为:'. $name; echo '<br/>'; echo '参数为:<pre class="brush:php;toolbar:false">'; var_dump($arguments); } } $sport = new Sport(); $sport ->run(); echo '<br/>'; $sport ->football('贝克汉姆',30);
클래스를 생성하고 클래스에 실행 메서드와 매직 메서드 __call()을 만듭니다. 다음으로 $sport 객체를 인스턴스화하고 두 가지 메서드를 호출합니다. 하나는 클래스에 존재하는 run() 메서드이고 다른 하나는 존재하지 않는 football() 메서드입니다. 코드를 실행하여 결과를 확인할 수 있습니다.
위 내용은 매직 메소드 __call() 인스턴스에 대한 자세한 설명(php 고급 객체 지향 튜토리얼)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!