php __call 메소드는 "$foo->__call('test', array(1, "2", 3.4, true))"와 같은 구문을 사용하여 정의되지 않은 메소드를 호출할 때 호출됩니다. 이는 " $ foo->test(1, "2", 3.4, true)".
추천: "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 = 'VR'; $google->search($keyword); //当调用当前对象不存在的方法时,会转向__call $google->operate();
__call을 사용하면 일부 캡슐화를 수행하여 다른 객체와 메소드를 호출할 수 있습니다.
위 내용은 PHP __call 메소드를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!