Warum und wie verwenden Sie anonyme Funktionen in PHP?
Anonyme Funktionen stehen ab PHP 5.3.
Sollte ich diese verwenden oder zu vermeiden? Wenn ja, wie?
Bearbeitet; nur fand einige schöne trick mit php anonyme Funktionen...
$container = new DependencyInjectionContainer();
$container->mail = function($container) {};
$conteiner->db = function($container) {};
$container->memcache = function($container) {};
InformationsquelleAutor der Frage Kirzilla | 2010-03-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Anonyme Funktionen sind nützlich, wenn Sie Funktionen verwenden, die erfordern eine Rückruffunktion wie
array_filter
oderarray_map
tun:Ansonsten müssten Sie eine Funktion definieren, dass Sie möglichst nur einmal verwenden:
InformationsquelleAutor der Antwort Gumbo
Anonyme Funktionen wurden in PHP für eine lange Zeit: create_function gibt es schon seit PHP 4.0.1. Aber du hast ganz Recht, es ist ein neues Konzept und syntax von PHP 5.3.
Wenn Sie je benutzt habe
create_function
vor, dann wird die neue syntax kann einfach rechts in dem Sie verwendet werden. Wie die anderen Antworten erwähnt, ist ein häufiger Fall ist, dass für 'Wegwerf' - Funktionen, wo Sie verwendet werden sollen, nur einmal (oder in einer einzigen Ort, mindestens). Häufig kommt in form von callbacks für die gerne von array_map/reduzieren/filterpreg_replace_callbackusortetc..Beispiel für die Verwendung von anonymen Funktionen, um die Anzahl der Zeiten, die Buchstaben erscheinen in Worten (dies könnte geschehen, in eine Reihe von anderen Möglichkeiten, es ist nur ein Beispiel):
Gibt (weggelassen aus Platzgründen):
InformationsquelleAutor der Antwort salathe
Vielleicht könnten Sie gerade Lesen, PHP Artikel auf Anonyme Funktionen. Es ist eigentlich ziemlich gut.
InformationsquelleAutor der Antwort animuson
Anonyme Funktionen können sehr nützlich sein bei der Schaffung der Funktion, in DI-container zu, zum Beispiel "bootstrap.php":
Beispiel mit der Nutzung params, und neben Variablen
Hier können Sie sehen, wie Sie mit anonymen Funktionen, um Speicherplatz zu sparen und die Belastung der server. Sie können definiert haben alle wichtigen plugins, Klassen in
di
container, aber Instanzen erstellt werden, nur wenn Sie es brauchen.InformationsquelleAutor der Antwort Kamil
Einer typischen Verwendung von anonymen Funktionen callback-Funktionen. Zum Beispiel könnten Sie verwenden Sie Sie für den Rückruf von Art-algorithmen, wie beispielsweise in der Funktion
uksort
( http://lv.php.net/uksort ) oder ersetzen algorithmen wiepreg_replace_callback
( http://lv.php.net/manual/en/function.preg-replace-callback.php ).Haben Sie nicht versucht, es selbst in PHP, so ist dies nur eine Vermutung.
InformationsquelleAutor der Antwort naivists
Hier ist Beispiel mit der Verwendung von anonymen Funktionen in Php
Im obigen Beispiel haben wir die schriftliche anonyme Funktionen, die überprüfen, ob ein Schlüssel im array eingegeben. Wenn es vorhanden ist dann wird es das in ein Ausgabe-array.
InformationsquelleAutor der Antwort devquora