Kontakt
Telefon +49 2161 17 58 83
Mobil +49 179 72 66 112
E-Mail info@ulrich-borchers.de

PHP 7

Am 03.12.2015 erblickte PHP 7 mit dem offiziellen Release der Version 7.0.0 das Licht der Welt. Dazu erschienen auf heise Developer dieser und jener Artikel.

Das Release war das Ergebnis des am 20.07.2014 formulierten Vorhabens, den phpng-Branch, der deutliche Performanceverbesserungen gegenüber der produktiven PHP 5-Codebasis enthielt, in die nächste (major) PHP-Version zu überführen.

Seit Erscheinen von PHP 7.0.0 Anfang Dezember 2015 wurden Bugs behoben und Sicherheitslücken geschlossen, und man kann sagen, dass Version 7 die defakto stabile und aktuelle Standardversion von PHP ist.

Enthalten sind neben einer deutlichen Performance-Steigerung auch Erweiterungen der Sprache beispielsweise in Form von Typehints für skalare Datentypen, Deklaration von Datentypen zu Rückgabewerten von Funktionen und Methoden, zwei neue Operatoren, anonyme Klassen, Expectations (Assertions) und variable Argumentlisten in Funktionen und Methoden. Deutlich überarbeitet wurde das Fehlerhandling, das nun auf Exceptions setzt (Throwable). Die offizielle Liste der neuen Features gibt darüber genaue Auskunft.

Es gibt ein paar wenige Inkompatibilitäten gegenüber PHP 5.x (eine Version 6 existiert nicht), die sich auch bei der Entwicklung mit PHP 5.x lohnen zu berücksichtigen, so dass  Anwendungen später portiert werden können. Die Nutzung von mit der 7er-Version eingeführten Features führt natürlich zum Bruch der Rückwärtskompatibilität, so dass man sich diesen Schritt gut überlegen muss.

Bei der Recherche finden sich nicht so recht Informationen darüber, wie erfolgreich PHP 7 bereits produktiv eingesetzt wird. Da PHP-Anwendungen heutzutage nicht mehr monolithisch entwickelt werden, sondern in der Regel zumindest ein paar externe Repositories und Bibliotheken nutzen, ist die tatsächliche Einsatzmöglichkeit von PHP 7 davon abhängig, ob auch alle genutzten, externen Sourcen kompatibel mit PHP 7 sind.

Wie geht man also mit der neuen Version um?

Inkompatibilitäten von PHP 5.x zu PHP 7 kennen (lernen) und bei neuem Code Dinge vermeiden, die eine Umstellung von PHP 5.x auf PHP 7 schwerer machen. Alten Code nach und nach für PHP 7 kompatibel machen, jedoch keine neuen Features benutzen. Prüfen, ob Anwendungen einschließlich ihrer Abhängigkeiten bereits mit PHP 7 betrieben werden können und umsteigen falls dies so ist.

In geschäftskritischen Anwendungen für die Umstellung jedoch einen Migrationsbranch aufmachen und nach Portierung und ausführlichem Test diesen releasen. Neue PHP 7-Features in solchen Anwendungen vorerst nicht nutzen - dazu jedoch übergehen, wenn die portierte Anwendung released wurde und längere Zeit stabil läuft. Neue Features in der Zwischenzeit für beide Versionen kompatibel schreiben und in beide Branches mergen - das ermöglicht den Rückumzug auf PHP 5.x bei Erhalt der aktuellen Funktionalität, falls mit PHP 7 ein größeres Problem auftauchen sollte.

Nach gelungener Umstellung und stabilem, andauerndem Produktivbetrieb dann ausschließlich PHP 7-konform weiter entwickeln.

Zurück

Hands On PHP

Harter Hut

Programmiertes - Jenseits von Prosa.

Zend Certified Engineer
Zend Certified Engineer ZF
Oracle Certified Professional, MySQL 5.6 Developer
Sun Certified Java Programmer (SCJP)
Sun Certified Web Component Developer (SCWCD)
RSS
tl_files/open_clip_art/symbole/rss-icon.png  Abonnieren