So beschleunigt PHP 7 das Internet

Die Arbeiten an einem Nachfolger zu PHP 5, in seiner ursprünglichen Version bereits im Sommer 2004 veröffentlicht, dauerten ewig und drohten mehrfach zu scheitern. Eine geplante Version 6 kam nie zustande, weil angedachte Änderungen zu aufwändig waren. Nach einigen Testversionen operiert nun PHP 7 seit Anfang Dezember 2015 als offizieller Nachfolger mit einem Update auf 7.1 im Dezember 2016 und beschleunigt das Internet durch geringere Ausführungszeiten deutlich. Zeit, einen Blick auf die Technik und den Code dahinter zu werfen.


Performance-Boost

Durch eine Änderung der Referenzzählung in der Speicherverwaltung der C-Datenstruktur ZVals wurde die Größe von 24 auf 16 Bytes reduziert und im Zweifelsfall doppelt im Speicher behalten. Gleichzeitig konnte die Größe interner Datenstrukturen deutlich reduziert werden. Der geringere Hashtable-Speicherverbrauch beschleunigt sämtliche Rechenoperationen massiv. In Verbindung mit effizienterer CPU-Verarbeitung der Speicherallozierung konnte die Performance von PHP 7 somit deutlich erhöht werden. Was bei synthetischen Benchmarks mit durchschnittlich 30-40 % noch überschaubar ist, bringt bei realen Applikationen häufig über 100 %. Einzig die PHP-C-Extension-API hat angesichts massiver interner API-Änderungen noch mit Kompatibilitätsproblemen zu kämpfen.


Neue Features

Skalare Typehints sind wohl jene Neuerung, die am heißesten diskutiert wird. PHP 5 erlaubte diese nur für Arrays und Objekte, während PHP 7 nun auch eine Hinterlegung bei Float, Boolean, String und Integer ermöglicht – eine Funktion, die ursprünglich sogar für Version 5 geplant, jedoch kurz vor dessen Release entfernt worden war. Generell konvertiert PHP automatisch, durch ein neues Skript kann jedoch nun auch das strikte neue Skript-Verhalten entsprechend veranlasst werden. Außerdem wurden fatale Fehler in PHP 7 zu Exceptions und können daher gestoppt werden, ohne dass es zu einem kompletten Programmabbruch kommt. Auf syntaktischer Ebene ermöglichen neue Operatoren hilfreiche Funktionen. Durch ?? kann die korrekte Setzung eines Wertes überprüft werden, während der Spaceship-Operator <=> den Sortierungsprozess deutlich vereinfacht. Die Definition anonymer Klassen rundet das hilfreiche Neuerungspaket ab.


Kompatibilität mit früheren Versionen

Während die Unterstützung der letzten PHP-5-Version, PHP 5.6, mittlerweile ausgelaufen ist und Sicherheitsupdates nur noch bis zum 28. August 2017 zur Verfügung gestellt werden, sollte die Umstellung auf PHP 7 mittlerweile zumindest angelaufen sein. Tatsächlich funktioniert die Rückwärtskompatibilität auf 5.6 recht gut, auch wenn so manche kleine Änderungen Probleme bei der direkten Migration von Anwendungen erzeugen kann. Gerade Erweiterungen haben damit zu kämpfen, viele konnten bereits Fixes bereitstellen. Wer jedoch nach wie vor mit Versionen vor 5.6 oder, im Extremfall, sogar im Umfeld von PHP 4 operiert, steht vor ernsthaften Schwierigkeiten und sollte möglichst sofort modernisieren.

Bei der pinzweb Werbeagentur GmbH & Co KG ist PHP 7 längst in Fleisch und Blut übergegangen. Unser erfahrenes Team operiert ausschließlich nach den neuesten Webstandards für noch höhere Leistungs- und Geschwindigkeitswerte. Sie suchen nach kompetenter Hilfe für Ihre veraltete Website oder App? Dann vereinbaren Sie noch heute ein kostenloses Beratungsgespräch!

Autor: Oliver Resl


Zurück

Seite drucken
pinzweb.at GmbH & Co KG
Raiffeisenstraße 4, A-Bruck a. d. Glstr.
Telefon: +43 6545 20340
Fax: +43 6545 20340 - 1
E-Mail: office@pinzweb.at
Diese Webseite verwendet Cookies.
Hier klicken für mehr Informationen.
Schließen