Blog & News

Wir halten Sie auf dem Laufenden! Hinter den Kulissen tut sich immer viel. Wenn's was wirklich interessantes zu berichten gibt, dann steht's hier.

Atom Feed

zurück zum Blog

2018
14
Dez

PHP 7.3 Released

PHP 7.3

Letzten Donnerstag, 6. Dezember, hat uns der Samichlaus eine kleine Überraschung beschert: PHP 7.3 ist erschienen und Onlime konnte keine Zeit verstreichen lassen, diese finale Version am Release-Datum zu kompilieren und allen Kunden zur Verfügung zu stellen. Wie immer sind wir wieder mal ganz vorne mit dabei als einer der ersten CH-Hoster, welcher PHP 7.3 anbietet.

Die neue Version ist in unserem Controlpanel unter «PHP-Manager» zu finden und lässt sich sowohl für Ihre Hauptdomain als auch für sämtliche Subdomains individuell aktivieren.

PHP 7.3 wurde durch uns bereits in mehreren vorgängigen Release Candidates (RC) ausführlich getestet, wobei es zu keinen Problemen kam.

Neuerungen in PHP 7.3

Die neueste PHP-Version bietet einige Funktionalität, die das Webentwickler-Leben vereinfacht. Dies sind die wichtigsten Neuerungen und Änderungen:

  • Gelockerte Syntax für Heredoc und Nowdoc — Die abschliessenden Markierungen dürfen nun auch eingerückt sein.
  • Abschliessendes Komma in Funktions- und Methodenaufrufen — Aufrufe von Funktionen und Methoden dürfen nun ein abschliessendes Komma enthalten. Das macht den Umgang mit Funktionen und Methoden in vielen Fällen einfacher, weil nicht darauf geachtet werden muss, ob ein abschliessendes Komma vorhanden sein darf.
  • Referenzzuweisung in list() — Mit der neuen Funktion ist nun das gleichzeitige Zuweisen mehrerer Referenzwerte zu mehreren Variablen möglich.
  • Arrays einfacher auslesen — Mit den neuen Funktionen array_key_first() und array_key_last() lässt sich nun der erste oder letzte Schlüssel eines Arrays auszugeben.
  • Ist ein Objekt zählbar? — Mit PHP 7.2 wurde bereits eine Warnung eingeführt, wenn count() auf ein Objekt angewendet wird, das die Funktion nicht unterstützt. Bislang musste man die entsprechende Prüfungsfunktionen selbst bauen, if (is_array($foo) || $foo instanceof Countable) { return count($foo) }. Mit PHP 7.3 und der neu eingeführten Funktion is_countable() kann man sich dieses Konstrukt sparen.
  • Sinnvolle Fehlermeldungen für JSON — Mit json_encode() und json_decode() kann PHP bereits seit Version 5.2 mit Daten im verbreiteten JSON-Format umgehen. Bislang wurde bei einem Fehler der Wert null zurückgeliefert. Mit der neu geschaffenen Option JSON_THROW_ON_ERROR lässt sich nun das Verhalten der beiden JSON-Funktionen im Fehlerfall verändern, um eine klarere Rückmeldung zur Fehlerquelle zu erhalten.

Für weitere Infos beachten Sie bitte auch das offizielle Release Announcement und unser Support-Wiki:

Veraltete Funktionalitäten in PHP 7.3

Neben diversen weiteren Änderungen bringt PHP 7.3 zudem einige Deprecations mit, markiert also Funktionen als veraltet, die ab der nächsten Major-Version (voraussichtlich PHP 8.0) nicht mehr unterstützt werden. Entwickler von PHP-Applikationen sollten sich bereits jetzt um alternative Lösungen für diese Funktionen kümmern, um für PHP 8 gerüstet zu sein.

  • GD image2wbmp() — Mit der Grafikerweiterung GD und deren Funktion image2wbmp() können Bilder im Wireless-Bitmap-Format (WBMP) erzeugt werden. Die Schwester-Funktion imagewbmp() verhält sich seit PHP 5.0 praktisch identisch, weshalb image2wbmp() spätestens mit PHP 8.0 verschwinden wird. Sollten Sie die Funktion in Ihrem Code im Einsatz haben, können Sie die entsprechenden Stellen einfach mit imagewbmp() ersetzen.
  • Case-insensitive Constants — Bisher war es möglich, Konstanten zu definieren und sie dabei «case-insensitive» zu machen. Für den Aufruf der Konstante musste damit nicht zwischen Gross- und Kleinschreibung unterschieden werden. Mit PHP 7.3 liefert sowohl die Definition als auch der Aufruf einer Konstante eine Deprecation-Warnung, wenn die Option «case-insesitive» für die Konstante gesetzt ist. Nach gängiger Konvention werden Konstanten sowieso immer in Grossbuchstaben geschrieben.
  • Searching Strings for non-string Needle — In String-Funktionen wie strpos(), strrpos(), strstr() usw. wird als "needle" neu immer ein String erwartet. Das automatische typecasting auf einen String gilt als deprecated.

Bereit für PHP 7.3?

Dies ist die erste stabile Version von PHP 7.3 und bei solchen Versionen ist immer Vorsicht geboten. Bisher sind uns aber keine negativen Effekte aufgefallen und sämtliche grossen CMS und Web-Frameworks sollten problemlos laufen unter PHP 7.3.

Sie können ganz einfach testen, ob Ihre Website lauffähig ist unter dieser neuen Version. Im Controlpanel unter PHP-Manager können Sie die PHP-Version ganz einfach up- resp. downgraden.

14. Dezember 2018 um 09:31