
Programmierung mit PHP kann, dass, für jede Gelegenheit, Du hattest zu nutzen anonyme Funktionen. Anonyme Funktionen sind Funktionen, die in deklariert werden die eigenen Strom des Kodex, die entwickeln und davon ausgehen, dass sie Funktionen, die wir verwenden nur an diesem Ort, Daher glauben wir nicht sie auseinander und die Wiederverwendung.
Normalerweise, Diese Funktionen dienen als Empfang der Rückrufe andere Funktionen oder Veranstaltungen, und Behandlung ist in ihnen, dass diese codiert Rückruf o Event Muss man. Auf diese Weise, Sie machen eine Entwicklung oder ereignisorientierte Programmierung, eher typisch für andere Sprachen als JavaScript.
Wenn überhaupt haben Sie in Javascript programmiert., Wann tun, zum Beispiel, ein Aufruf der Funktion setTimeout, einer der Parameter, die sie hat ist ein Rückruf die Funktion, die Sie möchten ausführen, wenn es Eintritt der Event.
1 | setTimeout( function() { console.log( 'test' ); }, 3000 ); |
Das gleiche, in PHP Es gibt Zeiten, wenn es angebracht, zu verwenden ist Rückrufe als Parameter der Funktionen. Dann sehen wir den möglichen Einsatz von einer anonymen Funktion in PHP. Nehmen wir an, dass wir eine Funktion haben, in denen einer der Parameter ist, eine Rückruf:
1 | nombre_funcion( $parametro1, $parametro2, $callback = '' ); |
im parameter $Rückruf, Wir konnten direkt bekommen, die Name der Funktion Ich möchte es zu laufen und haben wir zuvor definiert, entweder, direkt ein anonyme Funktion. Wir sehen die beiden Formen:
- Durch den Aufruf einer zuvor definierte Funktion:
1 2 3 4 5 | function mi_funcion() { //código de mi_funcion } nombre_función ( $parametro1, $parametro2, 'mi_funcion' ); |
- Durch den Einsatz von einer anonyme Funktion:
1 2 3 4 5 | nombre_funcion( $parametro1, $parametro2, function() { //código de la función anónima } ); |
Gewusst wie: anonyme Funktionen Parameter oder Variablen übergeben
Wenn wir verwenden anonyme Funktionen, innerhalb des Codes dieser, Wir haben keinen Zugriff zu den Variablen oder Objekte, die Sie zuvor, in definiert haben der die Codefluss, also, Wenn Sie zu einigen von ihnen verweisen, entweder Wir machen es global, entweder geben wir Zugang zu Ihnen, wie wir weiter unten sehen werden:
Nehmen wir an der Dieses Beispiel mit einigen vorherigen code hinzugefügt:
1 2 3 4 5 6 7 | $aux = 'Esto es una prueba'; nombre_funcion( $parametro1, $parametro2, function() { //Desde aquí no tengo acceso a la variable $aux } ); |
Von innerhalb der anonymen Funktion Wir haben keinen Zugriff auf die variable $AUX vorher definierten. Um diese Variable verwenden, Wir müssen es auf folgende Weise:
1 2 3 4 5 6 7 | $aux = 'Esto es una prueba'; nombre_funcion( $parametro1, $parametro2, function() use ( $aux ) { //Ahora sí que tenemos acceso a la variable $aux } ); |
Hinzufügen von, Nachdem die Funktionskennung Funktion(), das Wort Verwenden Sie gefolgt, Klammern, die Variable, auf die wir zugreifen wollen, Wir sind ermöglicht die von innerhalb der anonymen Funktion Wir haben Zugang auf die variable, Was uns wird verhindert, dass müssend deklarieren globale Variablen und anschließende Nutzung Anweisungen innerhalb der Funktion.
