Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Funktionsrückruffunktion (3) Methodenrückrufe statischer Funktionen und Objekte

PHP-Funktionsrückruffunktion (3) Methodenrückrufe statischer Funktionen und Objekte

伊谢尔伦
伊谢尔伦Original
2017-05-13 11:27:203257Durchsuche

Anweisungen für Methodenrückrufe von statischen PHP-Klassenfunktionen und -Objekten

In den vorherigen Kapiteln wurden globale Funktionen (in keinem Objekt oder keiner Klassenfunktion definiert) deklariert und wendet die Callback-Funktion an, aber es wird anders sein, wenn es auf eine statische Methode in der Callback-Klasse oder eine gewöhnliche Methode im Objekt trifft. Objektorientierte Technologie wird in den späteren Kapiteln dieses Buches ausführlich vorgestellt, sodass Sie bei Bedarf in späteren Studien und Anwendungen auf die in diesem Abschnitt vorgestellte Anwendungsmethode zurückgreifen können. Was sollen wir tun, wenn die Rückrufmethode eine statische Methode einer Klasse oder eine Mitgliedsmethode in einem Objekt ist? Im vorherigen Kapitel haben wir die Funktion call_user_func_array() der Callback-Funktion der PHP-Funktion vorgestellt. Wir können die Anwendung der Funktion call_user_func_array() noch einmal überprüfen. Sie können die Zeichenfolge des Funktionsnamens des ersten Parameters in einen Parameter vom Typ Array ändern.

Als Nächstes deklarieren Sie eine Klasse separat und deklarieren eine statische Mitgliedsmethode in der Klasse. Verwenden Sie Systemfunktionen, um statische Member-Methoden und Instanzobjekt-Member-Methoden in der Klasse aufzurufen.

Der Code lautet wie folgt:

<?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框架"))
?>
Beschreibung: Alle benutzerdefinierten Rückruffunktionen werden mit der Funktion call_user_func_array() oder im PHP-System implementiert Alle Für uns bereitgestellte Rückruffunktionen können Array-Typwerte im ersten Parameter wie diese Funktion verwenden, und zwei Elemente müssen im Array verwendet werden: Wenn Sie eine Mitgliedsmethode in einer Klasse aufrufen, müssen Sie diesen Array-Parameter in angeben Das erste Element ist eine Klassennamenszeichenfolge und das zweite Element eine statische Methodennamenszeichenfolge in der Klasse. Wenn der Name der Mitgliedsmethode im Objekt aufgerufen wird, ist das erste Element in diesem Array eine Referenz auf das Objekt die Zeichenfolge des Mitgliedsnamens im Objekt. An der Verwendung des zweiten Parameters der Funktion call_user_func_array() ändert sich nichts.

Das Beschreibungsformat der Rückruffunktion ist wie folgt zusammengefasst, wobei

callback() alle Rückruffunktionen darstellt:

1 Funktion Wie unten gezeigt:

callback("函数名称字符串")

2. Das Format der statischen Mitgliedsmethode in der Rückrufklasse ist wie folgt:

callback(array("类名称字符串","类中静态方法名称字符串"))

3. Das Format der Mitgliedsmethoden im Callback-Objekt ist wie folgt:

callback(array(对象引用,"对象中方法名称字符串"))
Die von bereitgestellte Callback-Funktion Das System und unser eigenes Die definierten Rückruffunktionen sind in den Aufrufmethoden alle genau gleich.

An dieser Stelle wurde Der Callback-Funktionsteil der PHP-Funktion eingeführt.


[Verwandte Tutorial-Empfehlungen]

1. "

php.cn Dugu Jiujian (4) - PHP-Video-Tutorial

2.

Eine vollständige Reihe von Video-Tutorials zur PHP-Programmierung vom Einstieg bis zur Beherrschung

3 Video-Tutorial

Das obige ist der detaillierte Inhalt vonPHP-Funktionsrückruffunktion (3) Methodenrückrufe statischer Funktionen und Objekte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn