Abo
  • Services:

PHP 5.3.0 veröffentlicht

Namespaces, Lambda-Funktionen, Closures und Late Static Binding

Mit der Veröffentlichung von PHP 5.3.0 halten zahlreiche größere Änderungen Einzug in die freie Scriptsprache. Einige davon waren ursprünglich erst für PHP 6 geplant.

Artikel veröffentlicht am ,

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.

Stellenmarkt
  1. Convidis AG, Sankt Gallen (Österreich)
  2. OBERMEYER Servbest GmbH, München

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 Erweiterungen 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 wesentlichen Neuerungen im Detail finden sich im Release-Anouncement, eine detaillierte im Changelog. Ein Migration-Guide hilft beim Umstieg von PHP 5.2 auf 5.3.

PHP 5.3.0 steht unter php.net zum Download bereit.



Anzeige
Blu-ray-Angebote
  1. 4,25€
  2. 7,99€ inkl. FSK-18-Versand

IhrName9999 06. Jul 2009

Mei was sind wir heute aber wieder schizophren, Jüngelchen :) http://www...

Monito 06. Jul 2009

Ich denke liebes Volk, dass PHP sein bestes endgültig gegeben hat und die Sprache jetzt...

dfgdfgdfg 01. Jul 2009

Im Grunde ists ja auch nur ein neuer Datentyp. Also ja.


Folgen Sie uns
       


Siri auf Deutsch auf dem Homepod

Wir haben uns die deutsche Version von Siri auf dem Homepod angehört. Bei den Funktionen hinkt Siri der Konkurrenz von Alexa und Google Assistant hinterher. Und auch an der Aussprache gibt es noch einiges zu feilen. Apples erster smarter Lautsprecher kostet 350 Euro.

Siri auf Deutsch auf dem Homepod Video aufrufen
Nasa-Teleskop: Überambitioniert, überteuert und in dieser Form überflüssig
Nasa-Teleskop
Überambitioniert, überteuert und in dieser Form überflüssig

Seit 1996 entwickelt die Nasa einen Nachfolger für das Hubble-Weltraumteleskop. Die Kosten dafür stiegen seit dem von 500 Millionen auf über 10 Milliarden US-Dollar. Bei Tests fiel das Prestigeprojekt zuletzt durch lockere Schrauben auf. Wie konnte es dazu kommen?
Von Frank Wunderlich-Pfeiffer

  1. Nasa Forscher entdecken Asteroiden, bevor er die Erde erreicht
  2. Nasa 2020 soll ein Helikopter zum Mars fliegen
  3. Raumfahrt Nasa startet neue Beobachtungssonde Tess

Bargeldloses Zahlen: Warum Apple Pay sich hier noch nicht auszahlt
Bargeldloses Zahlen
Warum Apple Pay sich hier noch nicht auszahlt

Während Google Pay jüngst hierzulande gestartet ist, lässt Apple Pay auf sich warten. Kein Wunder: Der deutsche Markt ist schwierig - und die Banken sind in einer guten Verhandlungsposition.
Eine Analyse von Andreas Maisch

  1. Bargeldloses Zahlen Apple und Goldman Sachs planen Apple-Kreditkarte

Esa: Sonnensystemforschung ohne Plutonium
Esa
Sonnensystemforschung ohne Plutonium

Forscher der Esa arbeiten an Radioisotopenbatterien, die ohne das knappe und aufwendig herzustellende Plutonium-238 auskommen. Stattdessen soll Americium-241 aus abgebrannten Brennstäben von Kernkraftwerken zum Einsatz kommen. Ein erster Prototyp ist bereits fertig.
Von Frank Wunderlich-Pfeiffer

  1. Jaxa Japanische Sonde Hayabusa 2 erreicht den Asteroiden Ryugu
  2. Mission Horizons @Astro_Alex fliegt wieder
  3. Raumfahrt China lädt die Welt zur neuen Raumstation ein

    •  /