PHP 8.2: Co nowego?
Nowa wersja PHP jest tuż za rogiem. Jakie są nowe implementacje, o których powinieneś wiedzieć? Sprawdź ten artykuł, aby się dowiedzieć!
W poniższym artykule wyjaśnimy, jak działa Symfony Polyfill i jak odnosi się do projektów Symfony. Zagłębimy się również w ideę, którą ta biblioteka próbuje rozwiązać.
W większości nowoczesnych PHP projektówzauważysz dużą zależność od Symfony Polyfill biblioteka. W tym artykule wyjaśnimy nie tylko, jak to działa i jak odnosi się do Projekty Symfonyale także zagłębimy się w ideę problemu, który próbuje rozwiązać.
PHP była w złym stanie przez długi czas. Był rok 2005, kiedy Andrei Zmievski rozpoczął projekt projekt aby zapewnić natywną obsługę Unicode dla PHP z powodu mieszanych recenzji i wielu obaw, że PHP idzie w złym kierunku. Rozwój PHP 6.x został uruchomiony. Ale nigdy nie został ukończony - i to jest historia na inny dzień. 10 lat później, gdzieś pomiędzy 2014 a 2015 rokiem, Dmitry Stogov, Xinchen Hui i Nikita Popov rozpoczęli prace nad phpng
- który zoptymalizował i zrefaktoryzował wewnętrzny silnik Zend Engine używany przez PHP.
I przez ostatnie lata, PHP rozwija się szybciej niż kiedykolwiek, obecnie w stabilnej wersji 8.1.
Ze względu na szybki rozwój nowych funkcji w języku, nie tylko programiści musieli dostosować się do tych zmian, ale także dostawcy infrastruktury i usług hostingowych.
Aby zapewnić nam, programistom, możliwość korzystania z najnowszych i najlepszych funkcji naszego ukochanego języka programowania Symfony Polyfill narodził się projekt.
Ten projekt backportuje funkcje znalezione w najnowszej wersji Wersje PHP i zapewnia warstwy kompatybilności dla niektórych rozszerzeń i funkcji. Jest przeznaczony do stosowania, gdy przenośność między Wersje PHP i rozszerzenia są pożądane.
To jest czysty opis Symfony Polyfill ale co to oznacza?
Ze względu na szybki rozwój Język PHP i niestandardowe oprogramowanie dostawców usług internetowych, większość deweloperów stanęła przed prostym wyborem:
Musieli jednak zachować kompatybilność z innymi narzędziami i usługami już używanymi zarówno na kod i po stronie infrastruktury - prawie zawsze przy użyciu starszych wersji PHPCzy muszę wspominać, drogi czytelniku, o tak zwanym "czynniku zabawy" tych dwóch rozwiązań?
Aby ułatwić pracę deweloperom, społeczność Open Source w 2015 roku stworzyła pierwsza stabilna wersja Polyfill oznaczona numerem 1.0. Życie programistów stało się łatwiejsze i można powiedzieć, że Symfony Polyfill rozwiązał wiele problemów, takich jak przenośność kodu między różnymi platformami, Wersja PHP różnice i znacznie ułatwiły refaktoryzację aplikacji i zmniejszenie długu technologicznego.
Niestety, nie wszystkie problemy można rozwiązać za pomocą jednego narzędzia.
Dla złożonych Projekty ITUtrzymywanie różnych wersji środowisk dla różnych klientów/oddziałów/działów jest powszechną procedurą. Powoduje to konieczność rozwijania wielu różnych gałęzi aplikacji w tym samym czasie, często o różnych wymaganiach funkcjonalnych i z własną trakcją. Wielokrotnie spotykałem się z problemem utrzymywania tej samej aplikacji dla różnych klientów na różnych środowiskach PHP5 / PHP7 i mnogość problemów związanych z niekompatybilnością bibliotek lub ich zależności dla różnych wersji jest po prostu nie do rozwiązania przy użyciu jedynie Symfony Polyfill.
Ze względu na szybki rozwój funkcji wbudowanych w PHPWielu deweloperów nie nadąża za tempem zmian. Wiele funkcji oferowanych w wyższych wersjach PHP są łatwe do osiągnięcia za pomocą zewnętrznych bibliotek lub deweloperzy po prostu nie potrzebowali nowych funkcji, takich jak Włókna PHP. Podczas wybierania zespół Dobrym pomysłem jest upewnienie się, że umiejętności są dopasowane lub że proces dostarczania kodu jest bardziej spójny dzięki narzędziom do analizy statycznej i wczesnemu wykrywaniu błędów regresji wersji.
Przyjęcie nowych funkcji językowych jest nadal dość niskie i PHP Udział 5 powyżej 24% wyraźnie pokazuje, że Jedna czwarta projektów PHP korzysta z wersji niższych niż 7.xktórego wsparcie bezpieczeństwa zakończy się 6 grudnia 2022 roku. Oznacza to, że w momencie pisania tego postu ponad 25% projektów internetowych opartych na PHP będzie potencjalnie podatnych na wszystkie nowe luki w zabezpieczeniach do końca roku. "Jeśli to działa, dlaczego mielibyśmy się tym przejmować"?
Powinniśmy jak najszybciej dostosowywać się do zmian językowych i korzystać z najnowszych rozwiązań. Podczas ewentualnej migracji projektu Legacy warto uwzględnić Symfony Polyfill jako pomocnika i wykorzystując techniki takie jak Strangler Pattern i modną obecnie metodologię BDD, która jest bajecznie łatwa do zastosowania w Framework Symfony. Czy naprawdę jesteśmy zmuszeni używać Symfony Polyfill?
Czytaj więcej:
PHP Development: 5 rzeczy, które powinieneś wiedzieć
7 startupów i scaleupów, które wstrząsną sceną rynkową w 2022 roku
PHP Development. Komponent konsoli Symfony - porady i wskazówki