Die Einführung anonymer Funktionen
Vor dem Aufkommen anonymer Funktionen mussten alle Funktionen benannt werden, bevor sie verwendet werden konnten
Manchmal muss eine Funktion nur einmal verwendet werden. In diesem Fall wird der Code durch die Verwendung einer anonymen Funktion prägnanter und intuitiver und verhindert auch, dass die Funktion in anderen Fällen verwendet wird Orte
(Kostenloses Teilen von Lernvideo-Tutorials: PHP-Video-Tutorial)
Die Definition und Verwendung anonymer Funktionen
PHP schließt die Schließung Sie gelten als äquivalente Konzepte zu anonymen Funktionen (in diesem Artikel zusammenfassend als anonyme Funktionen bezeichnet). Sie sind im Wesentlichen als Funktionen getarnte Objekte.
Die Essenz anonymer Funktionen sind Objekte. Daher können anonyme Funktionen genau wie Objekte einer Variablen zugewiesen werden
Alle anonymen Funktionen sind Abschlussobjekte Die Instanz
-Objekt hat keinen nennenswerten übergeordneten Bereich, daher müssen Sie use verwenden, um die verwendeten Variablen manuell zu deklarieren
Wenn Sie möchten, dass die Variablen in der anonymen Funktion wirksam werden, müssen Sie den Referenzdurchlauf verwenden
Ab PHP 5.4 gilt bei Verwendung einer anonymen Funktion in einer Klasse $ Diese der anonymen Funktion wird automatisch an die aktuelle Klasse gebunden
Wenn Sie nicht möchten, dass die automatische Bindung wirksam wird, können Sie statische anonyme Funktionen verwenden
Die Essenz anonymer Funktionen
Die Essenz anonymer Funktionen ist das Closure-Objekt, das die folgenden fünf Methoden enthält
__construct – um zu verhindern, dass anonyme Funktionen instanziiert werden
Closure::bindTo – Kopieren Sie das aktuelle anonyme Funktionsobjekt und binden Sie das angegebene $this-Objekt und Klassenumfang. Laienhaft ausgedrückt bedeutet dies, dass Sie eine anonyme Funktion manuell an ein bestimmtes Objekt binden. Auf diese Weise können Sie die Funktionalität des Objekts erweitern.
Closure::bind – eine statische Version der bindTo-Methode mit zwei Verwendungszwecken:
Verwendung 1: Erzielen Sie den gleichen Effekt wie die bindTo-Methode
Verwendung 2: Binden Sie die anonyme Funktion an die Klasse (und nicht an das Objekt). Denken Sie daran, den zweiten Parameter auf null zu setzen
call – Die neue Call-Methode in PHP 7 kann neben einer einfacheren Syntax auch eine höhere Leistung
fromCallable – bieten Eine bestimmte aufrufbare Funktion wird in eine anonyme Funktion
fromCallable konvertiert, was äquivalent zu
Es gibt eine Sache Dies erfordert hier besondere Aufmerksamkeit, unabhängig davon, ob es sich um einen von Callable konvertierten Abschluss oder einen mithilfe von Reflection erhaltenen Abschluss handelt. Wenn bei Verwendung von bindTo der zweite Parameter die Bindungsklasse angibt, wird ein Fehler gemeldet
Empfohlene verwandte Artikel und Tutorials: PHP-Tutorial
Das obige ist der detaillierte Inhalt vonVerwendung anonymer PHP-Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!