PHP에서 콜백은 호출 가능 유형의 함수 객체/참조입니다. 콜백(또는 호출 가능) 변수는 함수, 객체 메소드 및 정적 클래스 메소드로 사용될 수 있습니다. 콜백을 구현하는 방법에는 여러 가지가 있습니다. 이 기사에서는 그 중 일부를 소개하겠습니다. [동영상 튜토리얼 추천: PHP 튜토리얼]
1. 표준 콜백#🎜 🎜#
예: call_user_func() 함수를 사용하여 함수를 호출하고 포함된 매개변수는 함수 이름입니다.<?php header("content-type:text/html;charset=utf-8"); function text1(){ echo '这个是text1<br>'; }; call_user_func('text1'); ?>출력:
这个是text1설명: call_user_func() 함수가 호출된 후 call_user_func() 함수가 실행 중에 text1() 함수를 다시 호출합니다.
2. 정적 클래스 메서드 콜백
예: call_user_func() 함수를 사용하여 정적 클래스 메서드를 호출합니다. 여기서 매개변수는 포함된 클래스 이름과 호출할 메서드 배열입니다.<?php header("content-type:text/html;charset=utf-8"); class Demo { // 用于输出字符串的函数 static function someFunction() { echo "父级函数输出 <br>"; } } class Article extends Demo { // 用于输出字符串的函数 static function someFunction() { echo "子级函数输出 <br>"; } } // 静态类方法回调 call_user_func(array('Article', 'someFunction')); call_user_func('Article::someFunction'); // 相对静态类方法回调 call_user_func(array('Article', 'parent::someFunction')); ?>출력:
子级函数输出 子级函数输出 父级函数输出
3. 객체 메서드 콜백
예: call_user_func() 함수를 사용하여 인수가 개체 변수와 호출할 메서드의 문자열 이름을 포함하는 배열인 개체 메서드를 호출합니다.<?php header("content-type:text/html;charset=utf-8"); class Demo { // 输出字符串的函数 static function someFunction() { echo "PHP中文网 <br>"; } // 输出字符串的函数 public function __invoke() { echo "__invoke()函数<br>"; } } // 类对象 $obj = new Demo(); // 对象方法调用 call_user_func(array($obj, 'someFunction')); call_user_func($obj); ?>출력:
PHP中文网 __invoke()函数
4, 클로저 콜백
예: array_map( ) 사용 함수는 표준 호출을 하거나 클로저 함수가 제공한 유효한 매개변수 배열에 클로저 함수를 매핑하여 클로저 함수를 호출 가능하게 만듭니다. 여기서 매개변수는 클로저 함수의 배열과 유효한 매개변수입니다.<?php header("content-type:text/html;charset=utf-8"); // 用于输出<br> $print_function = function($string) { echo $string."<br>"; }; // 字符串数组 $string_array = array("PHP", "Python", "MySQL"); // 可调用闭包 array_map($print_function, $string_array); ?>출력:
PHP Python MySQL위는 이 기사의 전체 내용입니다. 모든 사람의 학습에 도움이 되기를 바랍니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 관련 튜토리얼 열을 주의 깊게 살펴보세요! ! !
위 내용은 PHP에서 콜백을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!