PHP 8.1 to kolejna aktualizacja w popularnym języku dynamicznej budowy stron i aplikacji. Zawiera wiele nowych funkcji, udogodnień i lepszą wydajność.
Co nowego?
- Enums – oferuje znacznie rozszerzoną obsługę modelowania danych i niestandardowych definicji typów.
- Readonly – właściwości tylko do odczytu, które nie mogą być zmieniane po inicjalizacji, czyli po przypisaniu do nich wartości.
- Never return type – typ dodany do funkcji zatrzyma wykonywanie dalszego kodu oraz nie zwróci wartości.
- Final class – możliwe jest zadeklarowanie końcowych stałych klas, aby nie można ich było nadpisać w klasach dziedziczonych.
- Fibers – są sposobem na tworzenie bloków kodu, które można wstrzymywać i wznawiać jak generatory, ale z dowolnego miejsca.
- Obsługa rozpakowywania tablic z kluczem łańcuchowym.
Funkcje związane z wydajnością w PHP 8.1
- Zaplecze JIT dla ARM64 (AArch64)
- Pamięć podręczna dziedziczenia
- Szybkie rozpoznawanie nazw klas
- Poprawa wydajności timelib i ext/date
- Ulepszenia iteratorów systemu plików SPL
- optymalizacje serializacji/deserializacji
- Optymalizacja niektórych funkcji wewnętrznych (get_declared_classes(), explode(), strtr(), strnatcmp(), dechex())
- Ulepszenia i poprawki JIT
WordPress z PHP 8.1
Aktualna wersja WordPress 5.8.2 zgłasza 22 błędy „Deprecated”, a z dodatkową instalacją WooCommerce 6.0.0 jest już takich błędów 27. Przestarzałe funkcje zostaną zapewne zastąpione w najbliższych aktualizacjach, tak jak to ma miejsce w PHP 8.0 gdzie takie błędy nie występują.
Starsze wersje WordPress, motywy czy pluginy, mogą nie być w pełni kompatybilne z PHP 8.1. Nasze badania popularności WordPress w listopadzie 2021 roku, wykazało że najnowsza wersja jest wykrywana na niespełna 25% stron.
Test wydajności WordPress bez pluginów
Przeprowadziliśmy test 250 jednoczesnych zapytań do testowej strony, ponawiając test 25 razy, dla uzyskania najczęstszego czasu odpowiedzi.
Dominantą dla PHP 8.1 był czas odpowiedzi 1451 ms, a testy realizowaliśmy w Apache JMeter.
PHP 8.1 jest szybszy o 6% od PHP 8.0!
Jak widać, czasy odpowiedzi najnowszej wersji PHP uzyskują najlepsze wyniki. Od wersji 8.0 jest szybszy tylko o 6%, ale już dla 7.X jest to prawie 40%!
WordPress + WooCommerce
Nasza testowa instalacja zawierała 1000 produktów, a WooCommerce był w wersji 6.0.0 oraz motyw Storefront 3.9.1
Strona główna wyświetlała 30 produktów sklepu i była znacznie bardziej wymagająca od powyższego czystego WordPressa. Ilość jednoczesnych połączeń zmniejszyliśmy do 50, również ponawiając test 25 razy.
Wersja PHP 8.1 była ponownie najszybsza i od wersji 8.0 było to już prawie 9%.
PageSpeed Insights
Lepszą wydajność PHP 8.1 również wykazało PageSpeed. Wydajność desktop tej samej instalacji WordPressa z WooCommerce w wersji PHP 7.1 uzyskało ocenę 97, gdy na PHP 8.1 było to 99
Dla urządzeń mobilnych w wersji PHP 7.1 uzyskało ocenę 80, gdy na PHP 8.1 było to 86
Kiedy PHP 8.1 będzie dostępne na serwerach?
Od dzisiaj wersja PHP 8.1 jest dostępna na naszych serwerach. W panelu DirectAdmin w zakładce „Wersja PHP dla domen” można przypisać wersję dla danej domeny lub w zakładce „PHP – ustawienia globalne” ustawić domyślną wersję PHP dla wszystkich domen dodanych do usługi hostingowej.
Więcej o specjalnych hostingach pod Twój WordPress czy sklep internetowy na WooCoomerce:
Osobiście czekam aż wszystkie pluginy zostaną zaktualizowane do nowej wersji (zwłaszcza te niszowe) i dopiero przejdę na nową wersję PHP co mnie bardzo cieszy. Z pewnością użytkownicy odczują zmiany w prędkości ładowania samej strony ^^.
Zmieniam zawsze na nową wersję a jak jakieś wtyczki nie obsługują to po prostu wymieniam z reguły wtyczki na nowsze innego typu.