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框架")) ?>
callback() 은 모든 콜백 함수를 나타냅니다.
1. 전역 함수는 아래와 같습니다.
callback("函数名称字符串")
2. 콜백 클래스의 정적 멤버 메서드 형식은 다음과 같습니다.
callback(array("类名称字符串","类中静态方法名称字符串"))
3. 콜백 객체의 멤버 메소드 형식은 다음과 같습니다.
callback(array(对象引用,"对象中方法名称字符串"))
이제 PHP 함수 중 콜백 함수 부분이 도입되었습니다.
php.cn Dugu Jiujian (4) - php 동영상 튜토리얼》
2.PHP 프로그래밍 입문부터 숙달까지 전체 동영상 튜토리얼
위 내용은 PHP 함수 콜백 함수 (3) 정적 함수 및 객체의 메소드 콜백의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!