Heim > Artikel > Backend-Entwicklung > Wie implementiert man Rückrufe in PHP?
In PHP ist Callback ein Funktionsobjekt/eine Referenz vom aufrufbaren Typ; Callback-Variablen (oder aufrufbare Variablen) können als Funktionen, Objektmethoden und statische Klassenmethoden verwendet werden. Es gibt viele Möglichkeiten, Rückrufe zu implementieren. In diesem Artikel werden einige davon vorgestellt. Ich hoffe, dass sie für alle hilfreich sind. [Empfohlenes Video-Tutorial: PHP-Tutorial]
1. Beispiel: use call_user_func( )-Funktion ruft eine Funktion auf, deren Argument der Funktionsname ist.
<?php header("content-type:text/html;charset=utf-8"); function text1(){ echo '这个是text1<br>'; }; call_user_func('text1'); ?>Ausgabe:
这个是text1Erklärung: Eine call_user_func()-Funktion wird aufgerufen, und dann ruft die call_user_func()-Funktion während der Ausführung die text1()-Funktion zurück.
2. Rückruf einer statischen Klassenmethode
Beispiel: Verwenden Sie die Funktion call_user_func(), um eine statische Klassenmethode aufzurufen, wobei der Parameter ein Parameter ist, der den Klassennamen und enthält die aufzurufende Methode.
<?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')); ?>Ausgabe:
子级函数输出 子级函数输出 父级函数输出
3. Rückruf der Objektmethode
Beispiel: Verwenden Sie die Funktion call_user_func(), um die Objektmethode aufzurufen, wobei der Parameter ist die enthaltende Objektvariable und ein Array von Zeichenfolgennamen der aufzurufenden Methoden.
<?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); ?>Ausgabe:
PHP中文网 __invoke()函数
4. Abschlussrückruf
Beispiel: Verwenden Sie die Funktion array_map(), um die Abschlussfunktion Array effektiv zuzuweisen of arguments macht eine Abschlussfunktion durch einen Standardaufruf oder durch Zuordnen einer Abschlussfunktion aufrufbar, wobei arguments ein Array der Abschlussfunktion und ihrer gültigen Argumente ist.
<?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); ?>Ausgabe:
PHP Python MySQLDas Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Lernen aller hilfreich sein wird. Weitere spannende Inhalte finden Sie in den entsprechenden Tutorial-Kolumnen auf der chinesischen PHP-Website! ! !
Das obige ist der detaillierte Inhalt vonWie implementiert man Rückrufe in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!