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 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !
以上がPHPでコールバックを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。