Tach!
"This is how PHP expresses a closure. This is not evil at all and in fact it is quite powerful and useful.
Es kommt mir so vor, als würde hier auf ungeheuer komplizierte Art und Weise ein Designfehler von PHP ausgebügelt, nämlich dass es keine privaten Funktionen (also in Funktionen gekapselte Unterfunktionen) gibt. Die fehlen mir oft!Oder täusche ich mich da?
Ja. Das kann man als Ersatz für eine Unterfunktion verwenden, aber das ist nicht dafür gedacht, sondern eher als Ablösung für create_function(), bei dem man den Code als String übergeben muss, der damit für IDEs schlecht lesbar ist und man dann Dinge wie Syntaxhervorhebung und -vervollständigung nicht verwenden kann. Auch Callback, bei denen man den Namen einer anderswo definierten Funktion (oder Methode umständlich als Array) übergeben muss, kann man so gleich an Ort und Stelle definieren. Anonyme Funktionen gab es anderswo schon eher, PHP hat sie mittlerweile nun auch implementiert.
dedlfix.