Das nächste große Release von PHP ist da!

PHP 5.6 ist final
Kommentare

Wie bei dem Release des vierten – und letzten – Release Candidate angekündigt, hat das Core-Team pünktlich das neueste Release veröffentlicht: PHP 5.6 steht ab sofort zum Download bereit. Und obwohl viele der neuen Features bestimmt nicht für jeden interessant sein dürften, wollen wir dennoch einen Blick auf dieses große Release werfen.

PHP 5.6 veröffentlicht

Es ist so weit – PHP 5.6 hat offiziell das Licht der Welt erblickt. Vorbei die Phase der Beta-Veröffentlichungen und Release Candidates; es ist also an der Zeit, PHP 5.6 willkommen zu heißen.

Das Wichtigste vorweg: PHP 5.6 steht ab sofort zum Download bereit. Die Windows-Binaries findet man wie gewohnt auf windows.php.net.

Natürlich gibt es auch zahlreiche Neuerungen – so quillt das Changelog geradezu über von Bugfixes, Updates und neuen Features. Auf ein paar der Neuerungen wollen wir aber etwas genauer eingehen.

Performance

PHP 5.6 bietet vor allem eines: mehr Performance. Und dieses mal in allen Bereichen; denn PHP 5.5 war in einigen Bereichen sogar etwas langsamer als der sein Vorgänger, PHP 5.4.

Dass PHP 5.6 richtig schnell werden würde, hatte sich bereits sehr früh abgezeichnet. So hatte Lorna Jane Mitchell bereits im Mai einige Performance-Tests mit der damals aktuellen Beta 2 gemacht und Ergebnisse erhalten, die einen positiven Blick in die Zukunft erlaubt haben:

PHP 5.6 Performance (Stand: Mai 2014, Lorna Jane Mitchell)

PHP 5.6 Performance (Stand: Mai 2014, Lorna Jane Mitchell)

Quelle: Lorna Jane Mitchell, PHP 5.6. Benchmarks

Aktuell kann man mit einer durchschnittlichen Performance-Steigerung von ca. 10 Prozent rechnen. Durchaus ein beachtlicher Wert; vor allem, da sich einige Benchmarks auf Tests mit Real-World-Code berufen.

Migration und BC Breaks

Hin und wieder kommt man bei der Entwicklung von Software oder einer Sprache nicht darum herum, einige Brüche mit der Abwärtskompatibilität in Kauf nehmen zu müssen. Das gilt auch für PHP 5.6 – auch wenn die Liste der BC Breaks eher kurz ausfällt und aller Wahrscheinlichkeit nach nur für wenig Kopfschmerzen sorgen dürfte.

Die wichtigsten Änderungen betreffen die mcrypt_*-Funktionen, die ab sofort nur noch gültige Keys und IVs akzeptieren, und die Funktion json_decode(), die ab sofort bei invalidem JSON nur noch, wie in der Spezifikation vorgegeben, kleingeschriebene Literals akzeptiert – alle anderen Variationen von true, false und null führen zu Fehlern.

Um die Migration auf PHP 5.6 so reibungslos wie möglich über die Bühne zu bekommen, gibt es einen ausführlichen Migration Guide von PHP 5.5.x zu PHP 5.6. Wer noch auf eine ältere Version setzt, sollte dennoch einen Blick riskieren, da dort auch auf Migration Guides von vorhergehenden Versionen verlinkt wird.

Eine Handvoll Features

Kein großes Release ohne neue Features – auch das gilt natürlich für PHP 5.6.

Neben den Gimmicks wie den Large File Uploads dürfen natürlich auch die Variadic Functions nicht unerwähnt bleiben.

Variadic Functions sind Funktionen, denen man eine beliebige Anzahl von Parametern übergeben kann. Hat man bisher dafür die Funktion func_get_args() verwendet, hatte das den Nachteil, dass man auf den ersten Blick nicht erkennen konnte, ob es sich bei einer Funktion um eine eben solche Variadic Function handelte. Eine neue Syntax schafft Abhilfe:

function fn($requiredParameter, ...$params) {
  var_dump($requiredParameter, $params);
}

fn(1); // 1, []
fn(1, 2); // 1, [2]
fn(1, 2, 3); // 1, [2, 3]

Unabdingbar für die Funktionalität der Variadic Functions ist übrigens der Splat Operator, auf den wir an anderer Stelle schon genauer eingegangen sind.

Weitere Highlights sind beispielsweise der Power Operator, die Constant Scalar Expressions und natürlich der integrierte PHP-Debugger phpdbg.

Einen schönen Überblick über die wichtigsten neuen Features bietet der Blogpost Getting ready for PHP 5.6 von Bramus Van Damme. Einen noch vollständigeren Überblick über alle Neuerungen findet man auf php.net.

The Next Big Thing

Obwohl PHP 5.6 mit einigen neuen Features punkten möchte, sorgen eben diese nur für wenige Begeisterungsstürme.

Generell sind im Moment natürlich viele Augen auf PHP 7, das nächste Big Thing im PHP-Universum, gerichtet, das mit der neuen Engine PHPNG aufwarten wird – der RFC über das Mergen von PHPNG in den PHP-Master-Branch wurde mit 47 zu zwei Gegenstimmen akzeptiert.

Dieser Schritt scheint vor allem aus Sicht der Performance eine weise Entscheidung zu sein; genießt PHPNG doch den Ruf, die Performance von PHP 5.6 zu verdoppeln.

Auf zu neuen Ufern

Auch wenn es vielleicht den einen oder anderen kleineren Bruch mit der Abwärtskompatibilität zu beklagen gibt, sollte das kein all zu großes Hindernis für ein Update auf PHP 5.6 darstellen.

PHP 5.3, rückblickend betrachtet ein großer Schritt auf dem Weg zu dem, was PHP heute ist, hat das Ende seines Lebenszyklus erreicht, PHP 5.4 wird nur noch bis kommendes Jahr mit Updates versorgt. Nutzer von PHP 5.5 können zwar noch bis 2016 mit Updates rechnen, aber wenn man ohnehin schon dabei ist, umzusteigen … dann kann man auch gleich das Update auf PHP 5.6 ins Auge fassen.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -