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

伊谢尔伦
풀어 주다: 2023-03-07 18:46:01
원래의
3235명이 탐색했습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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