3 Punkte von xguru 2020-02-04 | 2 Kommentare | Auf WhatsApp teilen

Was in PHP 8 hinzukommt, das Ende dieses Jahres vorgestellt wird

  • Union-Typen: in der Form int|float, |null als ?

  • JIT

  • Statischer Rückgabetyp

  • WeakMap, das Referenzen auf Objekte speichert

  • Bei Objekten ::class statt get_class()

  • DateTime::createFromInterface()

  • fdiv-Funktion

  • Type Annotations für eingebaute Funktionen

Inkompatible Änderungen

  • Eingebaute Funktionen werfen ebenfalls TypeErrors-Ausnahmen

  • Viele Fehler, bei denen zuvor nur Warnungen ausgegeben wurden, werden nun in passende Ausnahmen umgewandelt

  • Da das Standard-Error-Reporting-Level auf E_ALL gesetzt wird, werden viele Fehler sichtbar, die zuvor stillschweigend ignoriert wurden

  • Der @-Operator ignoriert fatale Fehler nicht mehr

  • Anpassung der Reihenfolge der Verkettungsoperatoren '+', '-' und '.'. +/- werden vor '.' verarbeitet

2 Kommentare

 
kunggom 2020-02-04

Wie immer liegt der Reiz eines Major-Version-Upgrades darin, dass dabei die Kompatibilität kaputtgeht! (…)

 
xguru 2020-02-04

Größer als die neuen Funktionen ist wohl, dass sich der unten stehende Teil zur Fehler- und Ausnahmebehandlung geändert hat.

Wenn man ohne großes Nachdenken einfach ein Upgrade macht, dürften bei PHP-Websites, die bisher stillschweigend Fehler ignoriert und einfach weitergemacht haben, Probleme auftreten.