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()
undarray_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 Funktionis_countable()
kann man sich dieses Konstrukt sparen. - Sinnvolle Fehlermeldungen für JSON — Mit
json_encode()
undjson_decode()
kann PHP bereits seit Version 5.2 mit Daten im verbreiteten JSON-Format umgehen. Bislang wurde bei einem Fehler der Wertnull
zurückgeliefert. Mit der neu geschaffenen OptionJSON_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 Funktionimage2wbmp()
können Bilder im Wireless-Bitmap-Format (WBMP) erzeugt werden. Die Schwester-Funktionimagewbmp()
verhält sich seit PHP 5.0 praktisch identisch, weshalbimage2wbmp()
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 mitimagewbmp()
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.