PHP 8.2: Was ist neu?
Die neue Version von PHP steht vor der Tür. Was sind die neuen Implementierungen, über die Sie Bescheid wissen sollten? Lesen Sie diesen Artikel, um es herauszufinden!
Im folgenden Artikel erklären wir, wie Symfony Polyfill funktioniert und wie es sich auf Symfony-Projekte bezieht. Wir werden auch tiefer in die Idee eintauchen, die diese Bibliothek zu lösen versucht.
In den meisten modernen PHP Projektewerden Sie feststellen, dass eine starke Abhängigkeit von der Symfony Polyfill Bibliothek. In diesem Artikel werden wir nicht nur erklären, wie sie funktioniert und wie sie sich auf Symfony-Projekteaber wir werden auch die Idee des Problems, das es zu lösen versucht, näher beleuchten.
PHP war lange Zeit in einem schlechten Zustand. Es war 2005, als Andrei Zmievski ein Projekt um die native Unicode-Unterstützung für PHP aufgrund gemischter Kritiken und vieler Bedenken, dass PHP geht in die falsche Richtung. Entwicklung von PHP 6.x begonnen. Aber es wurde nie fertiggestellt - aber das ist eine Geschichte für einen anderen Tag. 10 Jahre später, irgendwo zwischen 2014 und 2015, begannen Dmitry Stogov, Xinchen Hui und Nikita Popov phpng
- Projekt, das die interne Zend-Engine optimiert und überarbeitet hat, die von PHP.
Und in den vergangenen Jahren, PHP wächst schneller als je zuvor und hat derzeit die stabile Version 8.1.
Aufgrund der raschen Entwicklung neuer Funktionen in der Sprache mussten sich nicht nur die Entwickler an diese Änderungen anpassen, sondern auch die Anbieter von Infrastruktur- und Hostingdiensten.
Um sicherzustellen, dass wir, die Entwickler, die neuesten und besten Funktionen unserer geliebten Programmiersprache nutzen können Symfony Polyfill wurde das Projekt geboren.
Dieses Projekt portiert Funktionen aus der neuesten PHP-Versionen und bietet Kompatibilitätsschichten für einige Erweiterungen und Funktionen. Es soll verwendet werden, wenn die Übertragbarkeit zwischen PHP-Versionen und Erweiterungen ist erwünscht.
Dies ist eine reine Beschreibung von Symfony Polyfill aber was bedeutet das?
Aufgrund der sich rasch entwickelnden PHP Sprache und die nicht mehr zeitgemäße Softwareanpassung der ISPs haben die meisten Entwickler vor eine einfache Wahl gestellt:
Sie mussten jedoch die Kompatibilität mit anderen Werkzeugen und Diensten wahren, die bereits sowohl auf dem Code und der Infrastruktur - fast immer mit älteren Versionen von PHPMuss ich, lieber Leser, den so genannten "Spaßfaktor" dieser beiden Lösungen erwähnen?
Um den Entwicklern den Weg zu erleichtern, hat die Open-Source-Gemeinschaft im Jahr 2015 die erste stabile Version von Polyfill mit der Nummer 1.0. Das Leben der Entwickler wurde einfacher, und man könnte sagen, dass Symfony Polyfill eine Vielzahl von Problemen wie die Code-Portabilität zwischen verschiedenen Plattformen gelöst hat, PHP-Version Unterschiede und erleichterte das Refactoring von Anwendungen und den Abbau von technologischen Schulden.
Leider können nicht alle Probleme mit einem einzigen Werkzeug gelöst werden.
Für komplexe IT-ProjekteDie Pflege verschiedener Versionen von Umgebungen für verschiedene Kunden/Branchen/Abteilungen ist ein gängiges Verfahren. Daraus ergibt sich die Notwendigkeit, viele verschiedene Zweige von Anwendungen gleichzeitig zu entwickeln, oft mit unterschiedlichen funktionalen Anforderungen und mit eigener Zugkraft. Ich bin schon oft mit dem Problem konfrontiert worden, dieselbe Anwendung für verschiedene Kunden auf verschiedenen PHP5 / PHP7-Umgebungen zu pflegen, und die Vielzahl von Problemen im Zusammenhang mit der Inkompatibilität von Bibliotheken oder deren Abhängigkeiten für verschiedene Versionen ist einfach unlösbar, wenn man nur Symfony Polyfill.
Aufgrund der rasanten Zunahme von Funktionen, die in PHPViele Entwickler haben mit dem Tempo der Veränderungen nicht Schritt gehalten. Viele der Funktionen, die in höheren Versionen von PHP mit externen Bibliotheken leicht zu erreichen sind, oder die Entwickler die neuen Funktionen einfach nicht benötigten, wie z. B. PHP Fasern. Bei der Auswahl Team Mitglieder ist es eine gute Idee, dafür zu sorgen, dass die Fähigkeiten aufeinander abgestimmt sind oder dass der Codebereitstellungsprozess durch statische Analysewerkzeuge und die frühzeitige Erkennung von Versionsregressionsfehlern konsistenter gestaltet wird.
Die Übernahme neuer Sprachfunktionen ist noch recht gering und PHP 5 über 24% zeigt deutlich, dass in einem Viertel der PHP-Projekte werden Versionen unter 7.x eingesetztdessen Sicherheitsunterstützung am 6. Dezember 2022 ausläuft. Das bedeutet, dass zum Zeitpunkt der Abfassung dieses Beitrags über 25% der PHP-basierten Webprojekte bis zum Ende des Jahres potenziell für alle neuen Sicherheitslücken anfällig sein werden. "Wenn es funktioniert, warum sollten wir uns die Mühe machen"?
Wir sollten uns so schnell wie möglich an Sprachänderungen anpassen und so schnell wie möglich die neuesten Lösungen verwenden. Bei einer möglichen Migration eines Legacy-Projekts lohnt es sich, Folgendes zu berücksichtigen Symfony Polyfill als Hilfsmittel und unter Verwendung von Techniken wie dem Strangler-Pattern und der derzeit in Mode befindlichen BDD-Methodik, die sich fabelhaft einfach auf die Symfony-Framework. Sind wir also wirklich gezwungen, die Symfony Polyfill?
Lesen Sie mehr:
PHP Entwicklung: 5 Dinge, die Sie wissen sollten
7 Startups & Scaleups, die 2022 die Marktplatz-Szene erschüttern werden
PHP Entwicklung. Symfony Konsolenkomponente - Tipps & Tricks