In diesem Artikel wird hauptsächlich die Methode vorgestellt, mit der PHP Callable gezwungen wird, den Rückruftyp anzugeben. Es ist sehr gut und hat einen Referenzwert. Freunde, die es benötigen, können darauf verweisen.
Wenn eine Methode einen Rückruf akzeptieren muss Methode als Parameter, wir Sie können so schreiben
<?php function dosth($callback){ call_user_func($callback); } function callback(){ echo 'do sth callback'; } dosth('callback'); ?>
Ausgabe:
etw. Rückruf durchführen
Aber das tun wir Ich bin mir nicht sicher, ob die Rückrufmethode aufgerufen werden kann. Daher muss viel zusätzliche Arbeit geleistet werden, um zu überprüfen, ob diese 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 Rückruftyp ist, wodurch sichergestellt wird, dass die Rückrufmethode aufrufbar sein muss.
Zum Beispiel ist die Callback-Methode eine nicht existierende Methode
<?php function dosth(callable $callback){ call_user_func($callback); } dosth('abc'); ?>
Nach der Ausführung wird eine Fehlermeldung angezeigt: TypeError: Argument 1 Übergeben an dosth() 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('abc'); ?>
, wird eine Warnung angezeigt: Warnung: call_user_func() erwartet Parameter 1 als a gültiger Rückruf, Funktion '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 überprüfen, ob diese Rückrufmethode ausgeführt werden kann angerufen.
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.
Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.
Verwandte Empfehlungen:
PHP-Array-Additionsoperation und der Unterschied zu array_merge
php Ausführlich Erläuterung der PDO-Ausnahmebehandlungsmethode
In PHP integrierte Verschlüsselungsfunktion
Das obige ist der detaillierte Inhalt vonPHP implementiert eine Methode, um die Angabe des Rückruftyps basierend auf Callable zu erzwingen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!