> 백엔드 개발 > PHP 문제 > PHP __call 메소드를 사용하는 방법

PHP __call 메소드를 사용하는 방법

藏色散人
풀어 주다: 2023-03-05 11:16:01
원래의
2535명이 탐색했습니다.

php __call 메소드는 "$foo->__call('test', array(1, "2", 3.4, true))"와 같은 구문을 사용하여 정의되지 않은 메소드를 호출할 때 호출됩니다. 이는 " $ foo->test(1, "2", 3.4, true)".

PHP __call 메소드를 사용하는 방법

추천: "PHP Video Tutorial"

php 매직 메소드 사용 __call

__call은 정의되지 않은 메소드를 호출할 때 호출됩니다.

즉, 테스트 메서드가 정의되지 않은 경우 메서드 이름 test가 __call의 첫 번째 매개 변수로 전달되고 test의 매개 변수가 배열에 로드되어 __call의 두 번째 매개 변수로 전달됩니다. 입력하다.

따라서 $foo->test(1, "2", 3.4, true)를 호출하는 것은 실제로 $foo->__call('test', array(1, "2", 3.4)를 호출하는 것과 동일합니다. , 진실)).

__call 메소드는 다음과 같이 클래스 메소드를 호출할 때 트리거됩니다.

<?php
class google{
    public function search(){
        //TODO
    }
    public function __call($method, $parameters){
        //这里的method便是对应的方法,即"->"后面的字符串,$parameters是通过这个方法传过来的参数
    }
}
 
$google = new google();
$keyword = &#39;VR&#39;;
$google->search($keyword);
//当调用当前对象不存在的方法时,会转向__call
$google->operate();
로그인 후 복사

__call을 사용하면 일부 캡슐화를 수행하여 다른 객체와 메소드를 호출할 수 있습니다.

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

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿