Nach 3-jähriger Entwicklungsphase ist es endlich so weit. Die neue Major Version PHP 8.0 wurde kürzlich veröffentlicht. Diese bringt eine Vielzahl an Änderungen, neue Features und Fehlerbehebungen mit sich.
Worauf dürfen wir uns bei PHP 8.0 freuen?
Weak Maps
Mit dem neuen Major Update von PHP werden sogenannte Weak Maps eingeführt. Hierbei handelt es sich um eine neue Art Variablen anzulegen, welche Auswirkungen auf das Verhalten des Garbage Collectors hat.
Vor PHP 8.0:
Wenn eine PHP Variable gelöscht wird, prüft der Garbage Collecotor ob es andere Variablen gibt, die auf dasselbe Objekt zeigen. Werden keine Variablen gefunden, wird das Objekt aus dem Speicher gelöscht. Dadurch wird die Speicherperformance erhöht.
Ab PHP 8.0:
Die schwachen Variablen (Weak Maps) verhalten sich im Prinzip wie alle anderen Variablen auch. Der Unterschied findet sich bei der Prüfung durch den Garbage Collector. Im Grunde genommen bleiben Weak Maps bei dessen Prüfung unberücksichtigt. Gibt es also nur noch schwache Variablen, die auf ein Objekt zeigen, wird bei PHP 8.0 das zugrunde liegende Objekt trotzdem gelöscht. Dadurch kann noch mehr Speicher freigegeben werden.
Constructor Promoted Properties
Durch Constructor Promoted Properties lassen sich Codezeilen einsparen. Dabei ändert sich die Vorgehensweise für die Deklaration und Zuweisung von Variablen.
PHP 7.4 und älter:
Eigenschaften müssen in der Klasse deklariert werden. Infolgedessen erfolgt die Zuweisung der Parameter im Konstruktor der Klasse.
PHP 8.0:
Die Deklaration und Zuweisung der Variablen ist in der Parameterliste des Konstruktors möglich.
JIT-Compiler
Die PHP Version 8.0 verfügt über einen JIT-Compiler. Wobei Sie für sich entscheiden können, ob Sie davon Gebrauch machen wollen oder nicht. Der JIT-Compiler lässt sich also jederzeit vom Benutzer in den Einstellungen deaktivieren. Damit Sie sich die verbesserte Performance nicht entgehen lassen, ist die Nutzung sehr zu empfehlen.
Attribute
Bisher sind nur doc-Kommentare in einer unstrukturierten Form möglich. Stattdessen können in PHP 8.0 Attribute in der Codestruktur angelegt werden. Diese sollen der maschinellen Dokumentation dienen. Diese Metadatenlemente können an PHP Klassen, Funktionen, Methoden, Parametern, Eigenschaften und Konstanten angefügt werden.
Neue Funktionen
Das Update wird mit einer Hand voll neuer Funktionen ausgeliefert:
- str_contains() function
- fdiv function() function
- get_resource_id() function
- get_debug_type() function
- str_starts_with() function
- str_ends_with() function
- preg_last_error_msg() function
Union Types 2.0
Vor PHP 8.0 konnte man nur einzelne Typen für Eigenschaften, Rückgabeparameter und Übergabeparameter definieren. Künftig erlaubt Ihnen PHP die Deklaration von beliebig vielen Typen mit der Syntax x1|x2|x3|…
Arrays mit negativem Index
In den alten PHP-Versionen ist es möglich für ein Array einen negativen Startwert festzulegen. Allerdings wurde bisher beim Durchführen eines Appends immer mit 0 weitergearbeitet. In Zukunft wird es möglich sein Arrays, mit negativen Index, ohne Unterbrechung anzulegen.
Beispiel vor dem PHP 8.0 Release:
Die Anlage eines Arrays mit Startwert -4 führt bei 3 Appends zu den Indizes -4, 0, 1, 2.
Beispiel nach dem PHP 8.0 Release:
Die Anlage eines Arrays mit Startwert -4 führt mit 3 Appends führt zu den Indizes -4, -3, -2, -1.
Es gibt noch weitaus mehr Änderungen. Diese können Sie in den Ankündigungen zu PHP 8.0 auf der Webseite von PHP nachlesen.
Wann muss ich auf PHP 8.0 umsteigen?
Wie in der Softwareentwicklung üblich gibt es auch bei PHP einen Produktlebenszyklus, in der der Hersteller sicherheitsrelevante und fehlerbehebende Updates entwickelt.
Dieser Phasen lassen sich folgendermaßen einteilen:
Aktiver Support:
Die Version wird aktiv unterstützt. Gemeldete Fehler und Sicherheitsprobleme werden behoben.
Security Updates:
Der Support wird auf die Behandlung kritischer Sicherheitsprobleme beschränkt.
Lebensende:
Die PHP-Version wird nicht mehr vom Hersteller unterstützt. Aus diesem Grund wird ein schneller Wechsel auf die aktuelle Version wird empfohlen.
Der vom Entwickler veröffentlichten Roadmap können Sie die Aktualität Ihrer PHP-Version prüfen. Entsprechend sollten Sie den Lebenszyklus im Auge behalten. Damit kann Ihre Webanwendung den strengen Anforderungen an Sicherheit und Performance gerecht werden.
Funktioniert WordPress mit PHP 8.0?
Wie beim letzten PHP-Major Update können nach dem PHP 8.0 Release wieder vermehrt Fehler in WordPress auftreten. Auslöser können neue Funktionen, leistungsoptimierende Maßnahmen (z. B. der neue JIT-Compiler), Anpassungen für mehr Sicherheit oder das Entfernen von früheren Funktionen sein.
Nichtsdestotrotz arbeiten die Entwickler von WordPress mit Hochdruck an der Kompatibilität der aktuellen Version mit der PHP Version 8.0, sodass die meisten Core-Funktionen von WordPress laufen. Einige WordPress-Plugins haben allerdings teilweise Probleme mit PHP 8.0, weshalb Sie die Umstellung zuvor am besten in einer getrennten Testing-Umgebung Ihres WordPress ausprobieren. Wenn Sie sich nicht sicher sind, ob Ihr WordPress mit PHP 8.0 kompatibel ist, dann können wir gerne eine kostenfreie Einschätzung abgeben. Kontaktieren Sie uns hierzu gerne. Mehr zu unserer WordPress-Betreuung finden Sie unter WordPress-Wartung.
PHP 8.0 ist bei SPIEGLHOF media verfügbar.
Auf Ihren Wunsch können wir Ihnen ab sofort PHP 8.0 auf Ihrem Managed Server oder in Ihrem Webspace bereitstellen. Sie können neue Funktionen testen und die Systemkompatibilität mit Ihrer Webanwendung prüfen. Da PHP 8.0 erst kürzlich veröffentlicht wurde, sind leider noch nicht alle üblichen Extensions verfügbar.
Falls Sie nach einem Dienstleister suchen, der Ihren Webspeicherplatz regelmäßig für die neuste PHP-Version nutzbar macht, steht Ihnen das SPIEGLHOF media Team sehr gerne zur Verfügung. Als Webdesigner aus Landshut können wir Ihnen zusätzlich eine vollumfängliche Betreuung Ihrer Webanwendungen anbieten.
Häufige Fragen zu PHP 8.0 :
Wann wurde PHP 8.0 veröffentlicht?
- Das offizielle Release-Datum war der 26.11.2020. Um Fehler frühzeitig erkennen und beheben zu können, wurde bereits vor einigen Monaten die erste PHP 8.0 Beta-Version bereitgestellt.
Lohnt sich ein Umstieg auf PHP 8.0?
- Durch die Umstellung auf PHP 8.0 wird Ihre Webanwendung nicht nur sicherer, sondern auch deutlich schneller. Neue Funktionen können Ihnen das Leben als Entwickler zudem deutlich angenehmer gestalten.
Unsere Erfahrung zeigt:
Wurden lange Zeit keine Updates durchgeführt, treten früher oder später Probleme in den Webanwendungen auf. Diese können kosten- und zeitintensiv sein.
- Durch die Umstellung auf PHP 8.0 wird Ihre Webanwendung nicht nur sicherer, sondern auch deutlich schneller. Neue Funktionen können Ihnen das Leben als Entwickler zudem deutlich angenehmer gestalten.
Ist mein System mit PHP 8.0 kompatibel?
- Durch die extrem Unterschiedlichen am Markt verfügbaren Systeme und die Vielzahl an Eigenentwicklungen lässt sich hier keine klare Aussage treffen. Beste Voraussetzungen schafft ein System, welches mit der bisher aktuellsten PHP-Version lauffähig war. Bei den Webspaces und Servern von SPIEGLHOF media haben Sie die Möglichkeit, die Lauffähigkeit Ihres Systems mit PHP 8.0 zu testen.
Wie kann ich prüfen welche PHP-Version genutzt wird?
- Es gibt zahlreiche Möglichkeiten, mit denen sich die aktuelle Version herausfinden lässt. Am einfachsten finden Sie Ihre aktuell im Einsatz befindliche PHP-Version über das Webinterface Ihres Hosters heraus. Bei uns erhalten Sie Auskunft über die Verwaltungsoberfläche LiveConfig oder durch unseren persönlichen Support.