Anonyme Funktionen sind Funktionen, die keinen Namen besitzen. Sie werden auch als Closures bezeichnet. Anonyme Funktionen werden als Parameter an Funktionen übergeben, die diese aufrufen können. Häufig wird dieses Verfahren für Callbacks genutzt. Über das use
-Keyword ist es möglich, innerhalb der anonymen Funktion auf Variablen der rufenden Funktion zuzugreifen:
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php function callMyFunction($anonymeFunktion, $arg) { $anonymeFunktion($arg); } $text = 'durchzureichen'; callMyFunction( function ($param) use ($text) { echo($param . ' ' .$text); }, 'Argument' ); ?> |
Die Funktion callMyFunction
ruft die anonyme Funktion auf. Diese Funktion selbst, die sich in der Variablen $anonymeFunktion
befinden wird, wird dieser in Zeilen 8
und 9
bei ihrem Aufruf übergeben. Zusätzlich ist angegeben, dass die Funktion Zugriff auf die Variable $text
haben soll. Zeile 9
zeigt den eigentlichen Methodenrumpf. In Zeile 10
wird ein Parameter übergeben, der zunächst callMyFunction
übergeben wird und dann von dieser der anonymen Funktion weitergereicht wird. Die Ausgabe dieses Skriptes lautet: Argument durchzureichen
.