이 기사는 주로 PHP에서 __call() 및 __callStatic()을 사용하는 방법을 공유합니다. 도움이 되기를 바랍니다. 이 두 가지 방법의 사용에 대해서는 자세히 설명하지 않겠습니다. 예제 코드와 결과를 통해 누구나 두 가지 방법의 기능을 더 명확하게 이해할 수 있습니다.
1.__call() 메소드. 클래스에 선언되지 않은 메소드를 호출할 경우 메소드를 선언하는 대신 __call() 메소드를 호출할 수 있습니다. 메소드 이름과 배열을 매개변수로 허용합니다.
코드 예:
<?php class test{ //魔术方法__call /* $method 获得方法名 $arg 获得方法的参数集合 */ public function __call($method,$arg){ echo '你想调用我不存在的方法',$method,'方法<br/>'; echo '还传了一个参数<br/>'; echo print_r($arg),'<br/>'; } $list=new test(); $list->say(1,2,3); ?>
실행 결과:
존재하지 않는 메서드를 호출하려고 합니다. method
또한 매개변수를 전달했습니다
Array([0] => 1 [1] => 2 [2] => 3 )
2.__callStatic() 메소드. 이 메소드는 PHP5.3부터 등장했으며, 클래스에 존재하지 않는 메소드를 호출하기 위해 정적 메소드를 생성할 때 사용됩니다. __call() 메서드와 동일하며 메서드 이름과 배열을 매개변수로 받습니다.
코드 예:
<?php class test{ //魔术方法__callStatic /* $method 获得方法名 $arg 获得方法的参数集合 */ //魔术方法__callStatic public static function __callStatic($method,$arg){ echo '你想调用我不存在的',$method,'静态方法<br/>'; echo '还传了一个参数<br/>'; echo print_r($arg),'<br/>'; } } test::cry('痛哭','鬼哭','号哭'); ?>
실행 결과:
존재하지 않는 cry 정적 메소드를 호출하려고 합니다
또한 매개변수를 전달했습니다
Array([0] => Cry[1] => Ghost Cry [2] => Howl)
관련 추천:
PHP 예제 분석에서 __call() 메서드를 사용하고 오버로드하는 방법
php 매직 함수 __call() 사용 예제 분석_PHP 튜토리얼
php 매직 메소드 __get(), __set(), __call(), __callStatic() 및 정적 사용법에 대한 자세한 설명
위 내용은 PHP에서 __call() 및 __callStatic()을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!