PHP Callable zwingt die Methode, den Rückruftyp anzugeben

高洛峰
Freigeben: 2023-03-04 06:26:02
Original
969 Leute haben es durchsucht

Wenn eine Methode eine Rückrufmethode als Parameter akzeptieren muss, können wir so schreiben:

<?php
function dosth($callback){
call_user_func($callback);
}
function callback(){
echo &#39;do sth callback&#39;;
}
dosth(&#39;callback&#39;);
?>
Nach dem Login kopieren

Ausgabe:

etw zurückrufen

Aber wir können nicht sicher sein, ob die Rückrufmethode aufgerufen werden kann, daher müssen wir viel zusätzliche Arbeit leisten, um zu überprüfen, ob die Rückrufmethode aufgerufen werden kann.

Gibt es eine bessere Möglichkeit, festzustellen, ob die Callback-Methode aufrufbar ist?
Wir können Callable verwenden, um zu erzwingen, dass der Parameter ein Callback-Typ ist, wodurch sichergestellt wird, dass die Callback-Methode aufrufbar sein muss.

Zum Beispiel ist die Callback-Methode eine nicht existierende Methode

<?php
function dosth(callable $callback){
call_user_func($callback);
}
dosth(&#39;abc&#39;);
?>
Nach dem Login kopieren

Nach der Ausführung wird eine Fehlermeldung angezeigt: TypeError: Das an dosth() übergebene Argument 1 muss aufrufbar sein
Das Programm kann die interne Verarbeitung von dosth nicht ausführen. Der Parametertyp wurde zum Schutz überprüft und verarbeitet.

Und wenn das Callable nach der Ausführung entfernt wird

<?php
function dosth($callback){
call_user_func($callback);
}
dosth(&#39;abc&#39;);
?>
Nach dem Login kopieren

, wird eine Warnung angezeigt: Warnung: call_user_func() erwartet, dass Parameter 1 eine gültige Callback-Funktion ist 'abc' nicht gefunden oder ungültiger Funktionsname

Das Programm kann die interne Verarbeitung von dosth ausführen, daher muss viel zusätzliche Arbeit geleistet werden, um zu prüfen, ob diese Rückrufmethode aufgerufen werden kann.

Wenn der Parameter der Methode eine Rückrufmethode ist, sollte daher Callable hinzugefügt werden, um die Angabe als Rückruftyp zu erzwingen. Dies kann Aufruffehler reduzieren und die Qualität des Programms verbessern.

Die oben genannte Methode stellt Ihnen vor, wie Sie den Rückruftyp in PHP Callable erzwingen können. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht Der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte mich auch bei Ihnen allen für Ihre Unterstützung der chinesischen PHP-Website bedanken!

Weitere Artikel darüber, wie PHP Callable die Angabe des Rückruftyps erzwingt, finden Sie auf der chinesischen PHP-Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage