Moin.

Nachdem ich langsam anfing daran zu zweifeln, ob sich PHP nun weiter entwickelt, oder nicht, kam jetzt die erste Erlösung. Die erst offizielle Nachricht ist vom 1. August und betrifft, wie man sieht, das erste Alpha-Release. Und was hat sich jetzt getan?

Eigentlich nicht viel. Namespaces und Late Static Binding werden wohl so implementiert, wie angkündigt, deshalb werde ich darauf nicht näher eingehen, sondern nur ein paar Links nachliefern. Interessant und für mich neu war allerdings die Ankündigung für die Einführung von Lambda-Funktion und Closures.

Ersteres sind anonyme "Wegwerf"-Funktionen. Sowas ähnliches lässt sich zwar jetzt schon per create_funktion() erstellen, diese sind aber nicht besonders handlich und weil sie als String erstellt werden müssen, funktioniert damit weder Code-Completion gängiger IDEs, noch können Opcode-Caches etwas damit anfangen. Die Syntax erinnert etwas an anonyme Klassen in Java (die Anlehnung ist wohl gewollt), bloss dass hier das bekannte Schlüsselwort function auftaucht. Die Verwendung unterscheidet sich von den Funktionen von create_function nicht. Besonderes Augenmerk liegt hierbei darauf, dass weder die Parameter, noch body Strings sind

$lambaFunktion = function ($parameter1, $parameter2) { /* body */ };

Ist auf jeden Fall hübsch anzusehen. Der andere Teil, die Closures, sind ähnlich, erlauben aber "Interaktion mit der Umgebung". Gemeint ist, dass hier nicht nur (wie bei Funktionen üblich) auf die übergebenen Parameter und globale Variablen zugegriffen werden kann, sondern es werden explizit Variablen aus dem aktuellen Sichtbarkeitsbereich mit übergeben.

$myVar=14;
$closure = function ($par1) use ($myVar) { /* body */ };

Ich finde es auf jeden Fall hübsch anzusehen. Vorallen erleichtert es sicher das ein oder andere Problem, welches vorher unnötig komplex war und verbessert die Lesbarkeit. Kurz gesagt bietet es mal wieder neue Möglichkeiten.

Dem Release-Plan folgend darf man Mitte September bis Mitte Oktober endlich mit dem Release rechnen. Wie lange es dann noch dauert, bis die Hoster die Versionen eingespielt haben, bleibt abzuwarten. Bei meinem Hoster bin ich allerdings guter Dinge, dass es nicht übermässig lange dauern wird.

Letzten Endes werde ich eher früher als später damit einsteigen. Die Krux an der Sache ist dann aber leider, dass veröffentlichter Code nich (mehr) überall lauffähig sein wird, wenn spezielle 5.3-Features verwendet werden. Das nehme ich aber in Kauf, weil ich mich auch bewusst gegen die Update-Phobie der Webspace-Anbieter stellen möchte.

Ich werde noch ein paar Links zusammen suchen, bis dahin: Machts gut :)
Euer Müsli.