Release Candidate von PHP 5.3.0 veröffentlicht
Zu den wesentlichen Neuerungen von PHP 5.3 zählt die Einführung von Namespaces, die seit der dritten Alphaversion Teil der Scriptsprache sind. Diese Namensräume kapseln Funktionen und Klassen ein, wodurch sich Programmierer keine Gedanken mehr machen müssen, ob ein Funktions- oder Klassenname bereits verwendet wird. Sie waren ursprünglich erst für PHP 6 anvisiert.
Ebenfalls neu sind Lambda-Funktionen, auch bekannt als anonyme Funktionen, zum Beispiel in JavaScript. Sie sind ein reguläres Sprachelement funktionaler Sprachen und werden nicht explizit mit einem Namen deklariert und unter diesem aufgerufen, sondern der Funktionskörper muss einer Variablen zugewiesen werden. Deshalb kann eine Lambda-Funktion auch als Über- oder Rückgabewert einer Funktion übergeben werden.
Zusammen mit Lambda-Funktionen werden auch sogenannte Closures eingeführt. Lambda-Funktionen werden häufig innerhalb einer Funktion oder Methode definiert, aber zumeist nicht darin ausgeführt. Das führt zu Problemen mit der Sichtbarkeit von Variablen innerhalb der Lambda-Funktion. In funktionalen Sprachen sind äußere Variablen standardmäßig innerhalb der Lambda-Funktion sichtbar. In PHP hingegen müssen erforderliche Variablen explizit mit dem neuen Schlüsselwort use in die Lambda-Funktion importiert werden.
Mit dem neuen Prefix static:: für Methodenaufrufe wird "Late static binding" eingeführt. Es kann für den statischen Aufruf einer Methode innerhalb einer Klassenmethode verwendet werden, ohne dass der Klassenname bekannt ist. Es reicht, wenn die Methode innerhalb der Klasse definiert oder von einer Klasse geerbt wurde.
Die neue Metamethode für Klassen __callStatic() erlaubt es, statische Aufrufe undefinierter Klassenmethoden abzufangen und auszuwerten, analog zu __call() für Methodenaufrufe auf instanzierte Objekte.
Darüber hinaus versprechen die Entwickler eine verbesserte Geschwindigkeit, eine optionale Garbage-Collection für zyklische Referenzen und ebenfalls optional mysqlnd als nativen Ersatz für libmysql. Verbessert wurde die Windows-Unterstützung einschließlich VC6 und VC9 Binarys und es werden einige neue Erweiterung mitgeliefert: ext/phar, ext/intl, ext/fileinfo, ext/sqlite3 und ext/enchant.
Zugleich entfallen einige Erweiterungen (ext/mhash, ext/msql, ext/pspell, ext/sybase), andere wurden in PECL verschoben (ext/ming, ext/fbsql, ext/ncurses und ext/fdf). Zudem wurde die Nutzung interner APIs vereinheitlicht.
Die PHP-Entwickler raten Nutzern von PHP 5, die neue Version zu testen, denn vermutlich wird PHP 5.3.0 den Zweig 5.2 ersetzen, das heißt Sicherheitsupdates werden nur noch für die neue Version erscheinen. Hilfestellung beim Umstieg sollen Upgrade Notes(öffnet im neuen Fenster) geben.
PHP 5.3.0 RC1(öffnet im neuen Fenster) steht ab sofort unter qa.php.net(öffnet im neuen Fenster) zum Download bereit.
- Anzeige Hier geht es zum Handbuch für Softwareentwickler bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.


