>  기사  >  백엔드 개발  >  PHP 함수 콜백 함수 (3) 정적 함수 및 객체의 메소드 콜백

PHP 함수 콜백 함수 (3) 정적 함수 및 객체의 메소드 콜백

伊谢尔伦
伊谢尔伦원래의
2017-05-13 11:27:203194검색

PHP 클래스 정적 함수 및 객체의 메소드 콜백에 ​​대한 지침

이전 장에서 전역 함수(객체 또는 클래스 함수에 정의되지 않음)는 다음을 선언합니다. 콜백 함수를 적용하지만 콜백 클래스에서 정적 메서드를 만나거나 객체에서 일반 메서드를 만나면 달라집니다. 객체지향 기술은 이 책의 후반부에서 자세히 소개할 예정이므로, 이번 섹션에서 소개한 응용 방법은 추후 연구와 응용에서 필요할 때 다시 참고할 수 있다. 콜백 메소드가 클래스의 정적 메소드이거나 객체의 멤버 메소드인 경우 어떻게 해야 합니까? 이전 장에서는 PHP 함수의 콜백 함수 중 call_user_func_array() 함수를 소개했습니다. call_user_func_array() 함수의 적용을 다시 살펴보겠습니다. 첫 번째 매개변수인 함수 이름 문자열을 배열 유형 매개변수로 변경할 수 있습니다.

다음으로 클래스를 별도로 선언하고, 클래스에 정적 멤버 메서드를 선언합니다. 시스템 함수를 사용하여 클래스의 정적 멤버 메서드와 인스턴스 개체 멤버 메서드를 호출합니다.

코드는 다음과 같습니다.

<?php
//声明一个类demo,类中声明一个静态成员方法fun()
 class demo{
   static function fun($str1,$str2){
     echo "str1 = ".$str1;
     echo "<br>";
     echo "str2 = ".$str2;
   }
 }
//声明一个类test,类中声明一个静态成员方法fun()
 class test{
   function fun($str1,$str2){
     echo "str1 = ".$str1;
     echo "<br>";
     echo "str2 = ".$str2;
   }
 }
//使用系统函数call_user_func_array(),调用demo类中的静态成员方法fun()
call_user_func_array( array("demo","fun"), array("php.cn", "php中文网"));
echo "<br>------------------------<br>";
//使用系统函数call_user_func_array(),调用test类中的实例对象成员方法fun()
call_user_func_array( array(new test(),"fun"), array("thinkphp","php框架"))
?>

설명: call_user_func_array() 함수를 사용하거나 PHP 시스템에서 구현된 모든 사용자 정의 콜백 함수 All 제공되는 콜백 함수는 이 함수처럼 첫 번째 매개변수에 배열 형태의 값을 사용할 수 있으며, 배열에는 두 가지 요소를 사용해야 합니다. 클래스에서 멤버 메소드를 호출하는 경우 배열 매개변수에 첫 번째 매개변수를 지정해야 합니다. 한 요소는 클래스 이름 문자열이고 두 번째 요소는 클래스의 정적 메서드 이름 문자열입니다. 개체의 멤버 메서드 이름이 호출되면 이 배열의 첫 번째 요소는 개체에 대한 참조이고 두 번째 요소는 개체입니다. 개체에 대한 참조입니다. 요소는 개체의 멤버 이름 문자열입니다. call_user_func_array() 함수의 두 번째 매개변수 사용에는 변화가 없습니다.

콜백 함수의 설명 형식을 요약하면

callback() 은 모든 콜백 함수를 나타냅니다.

1. 전역 함수는 아래와 같습니다.

callback("函数名称字符串")

2. 콜백 클래스의 정적 멤버 메서드 형식은 다음과 같습니다.

callback(array("类名称字符串","类中静态方法名称字符串"))

3. 콜백 객체의 멤버 메소드 형식은 다음과 같습니다.

callback(array(对象引用,"对象中方法名称字符串"))

시스템에서 제공하는 콜백 함수와 당사 커스텀 콜백 함수가 호출됩니다. 메서드는 완전히 동일합니다.

이제 PHP 함수 중 콜백 함수 부분이 도입되었습니다.


[관련 튜토리얼 추천]

"

php.cn Dugu Jiujian (4) - php 동영상 튜토리얼

2.

PHP 프로그래밍 입문부터 숙달까지 전체 동영상 튜토리얼

3. 비디오 튜토리얼

위 내용은 PHP 함수 콜백 함수 (3) 정적 함수 및 객체의 메소드 콜백의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.