PHP 8: Die vollständige Anleitung
Veröffentlicht: 2021-01-05Am 26. November 2020 sind wir in die neue Welt von PHP 8 eingetreten. Jedes PHP-Update bringt eine ganze Reihe brandneuer, wichtiger Funktionen. Während für die Mehrheit der Gelegenheitsbenutzer nicht alle Updates wichtig sind, sind selbst andere Updates für die Mehrheit der erfahrenen WordPress-Entwickler zu Nischen.
Unabhängig davon, auf welchem Entwicklungsstand Sie arbeiten, können sich Aspekte der neuen Version, wie z.
In diesem Handbuch gehen wir die wichtigsten Änderungen in dieser neuen Version von PHP 8 durch. Tauchen wir ein.
Warum PHP-Updates passieren
Als Engine ändert sich PHP ständig. Es werden ständig neue Bits modifiziert oder hinzugefügt, um den Code zu optimieren und die Arbeit mit PHP einfacher und einfacher zu machen.
WordPress-Plugin- und Theme-Ersteller müssen zusammen mit Website-Entwicklern über PHP-Änderungen informiert sein, wenn sie auftreten. Auf diese Weise sind Sie dem Spiel einen Schritt voraus und vermeiden es, sich nach einigen weiteren Aktualisierungen durch die Dokumentationsseiten zu wälzen.
Jede neue Version von PHP soll positive Veränderungen in die Entwicklungsumgebung bringen. Leider gibt es Zeiten, in denen bestimmte Optimierungen Ihren vorhandenen Code beschädigen können.
Wenn inkompatible, rückwärts gerichtete oder veraltete Attribute mit neuen PHP-Updates kollidieren, kann dies dazu führen, dass Ihre gesamte Site beschädigt wird oder Teile der Site nicht mehr funktionieren.
Es ist eine gute Idee zu wissen, welche potenziellen Breaking Changes veröffentlicht werden, damit Sie diese direkt in benutzerdefiniertem Code bearbeiten können. Dies hilft Ihnen auch, neueren Code mit optimierten Ausdrücken zu verwenden.
Aber selbst wenn Sie in Ihrer Karriere noch kein einziges Stück benutzerdefinierten Codes angerührt haben, müssen Sie sich entscheiden, ob Sie ein Upgrade durchführen, wenn Ihr WordPress-Dashboard einen Hinweis für ein WordPress-PHP-Update erforderlich für die aktualisierte PHP-Version hinzufügt oder nicht.
Ausnahmslos ist die Antwort auf diese Frage fast immer ja. Aber bevor Sie dies tun, sollten Sie sich die wichtigsten Funktionsänderungen ansehen und sicherstellen, dass Sie keine Probleme haben. Wie das alte Sprichwort sagt: "Es ist besser, auf der sicheren Seite zu sein, als es zu bereuen."

Was ist neu in der PHP 8-Version
Diese PHP-Version ist keineswegs das größte Update, das veröffentlicht wurde. Aber es gibt noch einige spannende Änderungen, die wir uns anschauen sollten.
In gewisser Weise ist es eine kleine Erleichterung, dass PHP 8 ein relativ kleines Update ist. Dies bedeutet, dass es weniger wichtige Änderungen gibt, die Probleme mit Ihrem vorhandenen Code verursachen könnten.
Mit anderen Worten, die aktuelle PHP-Version bietet Ihnen einige großartige neue Funktionen, ohne dass Sie Stunden damit verbringen müssen, Probleme zu beheben.
Obwohl in dieser PHP-Version einige zusätzliche Änderungen vorgenommen wurden, werden in diesem Handbuch die wichtigsten behandelt.
Just-In-Time-Compiler (JIT)
Die aufregendste und sicherlich größte Ergänzung der neuen PHP-Version ist der Just-In-Time- oder JIT-Compiler.
Wie Sie wahrscheinlich wissen, ist PHP eine Sprache, die interpretiert wird. Dies bedeutet, dass es nach der Kompilierung in Echtzeit und nicht zu einer vordefinierten Startzeit ausgeführt wird.
Was JIT für PHP auf den Tisch bringt, ist kompilierter Code. Kompilierter Code bringt in bestimmten Situationen eine verbesserte Leistung mit sich.
Wenn Sie wie viele PHP-Entwickler sind, arbeiten Sie wahrscheinlich mit Web-Apps. Leider hilft JIT bei Web-Apps nicht viel. Aber es stellt eine enorme Verbesserung dar, wenn es um Aufgaben geht wie:
- Datenanalyse
- 3D-Rendering
- KI
- Zusätzliche Prozesse, deren Ausführung lange dauert
Obwohl dies nicht unbedingt die gebräuchlichsten aktuellen PHP-Anwendungen sind, verzweigen sich vorausschauende Entwickler definitiv mehr mit PHP.
Der JIT-Compiler hilft dabei, PHP flexibler zu machen.
Tatsächlich ist es fast garantiert, dass JIT den Horizont von PHP öffnet und neue Entwickler anzieht, die daran interessiert sind, es für neue Zwecke zu verwenden.
Für bestehende Projekte wird es wahrscheinlich nicht viel bringen.
Stellen Sie vor der Implementierung von JIT sicher, dass Sie es in einer isolierten Umgebung getestet haben, um festzustellen, ob sich Ihre Leistung verbessert.
Attribute
Die neue Version von PHP unterstützt Attribute. Dies sind winzige Metadaten, die Sie Ihrem Code hinzufügen, z. B. Parameter, Klassen und Funktionen.
Dies bedeutet, dass Sie Docblocks nicht mehr als Standardumgehung verwenden müssen. Obwohl dies nach einer kleinen Änderung klingt, macht es das Leben für PHP-Entwickler tatsächlich viel einfacher.
Sie können jetzt jedem einzelnen Codeabschnitt eine beliebige Anzahl von Attributen hinzufügen und diese dann mit use-Anweisungen importieren.
Sie können sogar Parameter zu Attributen hinzufügen.
Um Ihrem Code ein Attribut hinzuzufügen, fügen Sie einfach zwei „kleiner als“- und zwei „größer als“-Zeichen hinzu, die das Attribut umgeben.
Beachten Sie, dass Attribute nicht abwärtskompatibel sind. Sie verursachen Fehler, wenn sie in eine alte PHP-Version portiert werden.
Wie Sie wahrscheinlich wissen, ist die Standardumgehung mit docblock voll funktionsfähig. Aber es war auch immer ziemlich klobig. Mit der neuen PHP-Version können Sie jetzt Attribute direkt hinzufügen.
Obwohl es eine kleine Ergänzung zu PHP ist, sind seine Auswirkungen enorm.
Neuer Match-Ausdruck
Switch-Anweisungen waren eine robustere Version von if-Anweisungen. Die neuen Match-Ausdrücke in PHP verbessern dieses Konzept jedoch weiter.
Dies ist kürzer und strenger, was dazu beiträgt, Fehler besser zu fangen. Es kombiniert auch Bedingungen und erfordert keine break-Anweisung.
Auf diese Weise stellen die neuen Übereinstimmungsausdrücke eine deutliche Verbesserung dar.
Switch hat gegenüber Match immer noch den Vorteil, dass er mehrere Ausdrücke verwenden kann. Darüber hinaus sollten Sie jedoch in Erwägung ziehen, Übereinstimmungsausdrücke zu lesen.
Bisher sehen sie wie ein überlegener Ersatz aus, den Sie möglicherweise verwenden möchten.
Anschlussarten
Einer der wichtigsten Bestandteile von PHP sind Typen: Eine Variable als Boolean, Integer, Null usw. zuweisen.
Vor dieser PHP-Version durften Sie Variablen nur mit einzelnen Typen zuweisen. Mit PHP 8 können Sie zwei oder mehr Typen zuweisen, die auch als Unionstypen bezeichnet werden.
Als Beispiel können Sie einen Float- und einen Integer-Typ zuweisen und beide verwenden. Sie werden mit einer Zeile zwischen den Typen angegeben, beispielsweise float|int.
Natürlich können Sie void nicht mit anderen Typen kombinieren, da sie sich gegenseitig ausschließen.
Redundante oder doppelte Typen wie float|float funktionieren ebenfalls nicht.
In älteren PHP-Versionen können Sie PHPDoc-Annotationen verwenden, um zu versuchen, einen funktionalen Union-Typ zu erstellen. Jetzt können Sie diese Art von Problemumgehung überspringen und Ihren Variablen einfach mehrere Typen zuweisen.
Statische Rückgabe und gemischte Typen
Als Entwickler ist es allgemein bekannt, dass PHP-Returns verwendet werden, um den Wert einer Funktion zurückzugeben. Vor dieser Version war es keine Option, den statischen Typ zu verwenden.
„Parent“ und „self“ waren gültige Rückgabetypen, „statisch“ jedoch nicht. Dieses Problem wurde in der neuen PHP-Version vollständig behoben.
Obwohl es kein unglaublich häufiger Anwendungsfall ist, werden Sie auf jeden Fall froh sein, darauf zugreifen zu können.
Sie finden auch einen neuen gemischten Typ. Es könnte genauer als Pseudotyp beschrieben werden, da er jeden anderen Typ darstellt, der in PHP existiert.

Es wird am besten verwendet, wenn Sie mit Situationen zu tun haben, in denen Sie mit mehreren verschiedenen Typen arbeiten müssen.
Gemischt ist Ihre Standardeinstellung, wenn Sie keinen bestimmten Typ auswählen.
Häufig ist es besser, den neuen Unionstyp zu verwenden als gemischt. Dies liegt daran, dass Sie wahrscheinlich genauer sein möchten.
Dieser wird jedoch immer noch einen Zweck für Sie erfüllen.
Die Realität ist, dass keiner von beiden so groß ist wie der Gewerkschaftstyp, aber sie markieren definitiv eine Verbesserung.
Neue PHP 8-Funktionen
Die neue PHP-Version kommt mit neuen Funktionen, mit denen Sie arbeiten können.
- str_starts_with und str_ends_with – dies prüft, ob ein String mit einer bestimmten Zeile endet oder beginnt
- fdiv – dies ermöglicht eine Division, die konsequent reagiert, wenn sie durch Null dividiert wird
- str_contains – ähnlich wie str_starts_with und str_ends_with , überprüft aber einen vollständigen String
- get_debug_type – verhält sich ähnlich wie gettype , gibt aber zusätzliche Informationen wie den Klassennamen zurück
- get_resource_id – dies erleichtert das Abrufen einer ID für eine Ressource, z. B. eine Datenbankverbindung
- preg_last_error_msg – gibt eine im Klartext lesbare Fehlermeldung zurück
Testen Sie einige dieser neuen Funktionen, um zu sehen, wie Sie sie optimal nutzen können.
Benannte Argumente
Manche mögen es lieben und manche verachten es. In jedem Fall sind benannte Argumente in der neuen Version von PHP enthalten.
Mit Argumenten können Sie Daten an eine Funktion übergeben. Mit benannten Argumenten können Sie dasselbe tun, indem Sie den Argumentnamen anstelle der Reihenfolge übergeben.
Sie können sie weiterhin mit geordneten Argumenten kombinieren. Sie können jedoch optionale Parameter überspringen, wenn Sie möchten.
In der Praxis bedeutet dies saubereren Code und wenige Fehler. Denn je dichter Ihr Code ist, desto besser. Es ist viel einfacher, damit zu arbeiten.
Es besteht die Möglichkeit, dass dies ein Problem mit sich ändernden Argumentnamen und der Abwärtskompatibilität verursacht, was zu Unterbrechungen in älteren PHP-Versionen führen kann. Aber für viele Entwickler und Programmierer sind diese genannten Argumente eine willkommene Abwechslung.
Wichtige Änderungen in PHP 8
Das neue PHP-Release bringt einige grundlegende Änderungen mit sich. Dies kann zu Fehlern führen, wenn Sie ein Upgrade oder eine Rückportierung auf alte PHP-Versionen durchführen. Sehen Sie sich diese Liste der Breaking Changes an und sehen Sie, welche Auswirkungen Sie haben werden.
- Engine-Warnungen wurden neu klassifiziert, damit sie den entsprechenden Schweregrad aufweisen, wie z. B. Hinweise, Warnungen und schwerwiegende Fehler. Betrachten Sie dies als eine kleine bahnbrechende Änderung, die sich nicht auf viele Projekte auswirkt.
- TypeError wird jetzt routinemäßig bei internen Funktionen angezeigt. Dies wirkt sich stärker auf die Abwärtskompatibilität aus, als uns vielleicht noch bewusst ist, aber es ist nichtsdestotrotz eine solide Änderung.
- Es wurden mehrere Änderungen an den Fehlerberichtsebenen vorgenommen, die zuvor als stumm geschaltet und ignoriert wurden. Mit anderen Worten, neue Fehler, die Sie möglicherweise noch nicht gesehen haben, sollten sich jetzt ausbreiten.
- Die Sortierung ist zuverlässiger und stabiler. Obwohl PHP 7 einige große Änderungen an der Sortierung vorgenommen hat, verursacht das neueste Update weitaus weniger Schaden am bestehenden Code.
- Namespace-Namen sind jetzt ein einzelnes Token. Sie dürfen keine Leerzeichen enthalten. Die Auswirkungen dieser Änderung sind gering und einfach zu beheben.
- In früheren PHP-Versionen wurden Methoden, deren Name mit der Klasse übereinstimmte, als Konstruktoren interpretiert. In der neuen Version müssen Sie die Methode __construct() verwenden.
Es gibt Dutzende anderer kleiner Updates, die selten Probleme verursachen. Im Allgemeinen werden Sie mit dem aktuellen PHP-Update nicht viele Probleme haben.
Aktualisieren Sie Ihre PHP-Version in WordPress
Als WordPress-Entwickler wissen Sie, wie wichtig es ist, Ihre PHP-Version auf dem neuesten Stand zu halten. Es ist alarmierend zu wissen, dass ein sehr bedeutender Teil der WordPress-Benutzer immer noch auf PHP 5.6 läuft, was eine riesige Belastung darstellt.
Auch wenn Sie PHP 7.4 verwendet haben und dachten, Sie seien auf dem neuesten Stand, ist es jetzt definitiv an der Zeit, auf die neueste PHP-Version zu aktualisieren.
Das Ausführen Ihrer WordPress-Site auf einer älteren PHP-Version ist ein großes Sicherheitsrisiko. Veraltete PHP-Versionen haben ausnutzbare Sicherheitsabläufe, die Hacker regelmäßig ausnutzen.
Die einzige Möglichkeit, die bestehenden Schlaglöcher zu patchen, besteht darin, PHP immer auf dem neuesten Stand zu halten.
Sie sollten auch ein leistungsstarkes WordPress-Sicherheits-Plugin ausführen, um Ihren Sicherheitsschutz zu verbessern.
Ein weiterer Grund, Ihr PHP zu aktualisieren, ist die Geschwindigkeit. Mit jedem Update kommen schnellere Geschwindigkeiten und optimiertere Funktionen. Der größte auffällige Unterschied war natürlich zwischen PHP 5.6 und 7.4. Aber Sie werden mit dem neuesten Update definitiv eine Geschwindigkeitssteigerung feststellen.
Kompatibilität ist der letzte Grund, warum es wichtig ist, PHP in WordPress auf dem neuesten Stand zu halten.
Eine veraltete Version von PHP kann viele verschiedene Probleme verursachen, die Störungen verursachen oder eine Website vollständig beschädigen können.
Darüber hinaus gibt es Themes und Plugins, die eine vollständig aktuelle PHP-Version benötigen, um zu funktionieren.
Stellen Sie vor dem Ausführen des Updates sicher, dass ein WordPress-Backup-Plugin ausgeführt wird, falls es nach dem Ausführen des Updates zu Konflikten kommt.
Das Aktualisieren Ihrer PHP-Version ist ganz einfach. Alles, was Sie tun müssen, ist sich bei Ihrem cPanel oder dem Admin-Dashboard des von Ihnen verwendeten Hosts anzumelden, den PHP-Versionsmanager zu suchen und die neueste Version anzukreuzen. Aber bevor Sie das Update ausführen, erkundigen Sie sich bei Ihrem Host, ob er das neueste PHP-Update unterstützt. Einige laufen möglicherweise auf älterer Software.
Weitere Informationen zu PHP und WordPress finden Sie in der offiziellen WordPress.org-Dokumentation zu WordPress und PHP 8.
Zusammenfassung: PHP 8 und die Zukunft von PHP
Es ist zwar nicht das Monster-Update, das PHP 7.0 – 7.4 war, aber PHP 8 hat immer noch viele Dinge zu bieten, die Sie nutzen können.
Vom JIT-Compiler bis hin zu neuen Attributen, Match-Ausdrücken und anderen hilfreichen Funktionen für Entwickler ist es an der Zeit, sich mit dieser wichtigen neuen Version von PHP vertraut zu machen.
Welche Teile dieses Updates werden Ihrer Meinung nach in Ihrem täglichen Arbeitsablauf am häufigsten verwendet?
Kristen schreibt seit 2011 Tutorials, um WordPress-Benutzern zu helfen. Normalerweise arbeitet sie an neuen Artikeln für den iThemes-Blog oder entwickelt Ressourcen für #WPprosper. Außerhalb der Arbeit schreibt Kristen gerne Tagebuch (sie hat zwei Bücher geschrieben!), wandert und zeltet, kocht und erlebt tägliche Abenteuer mit ihrer Familie, in der Hoffnung, ein präsenteres Leben zu führen.
