PHP 8.1 – sprawdź, co nowego!

PHP jest już dostępne w nowej, stabilnej wersji – 8.1. Sprawdź, jakie zmiany zostały wprowadzone oraz jak wpłynie ona na optymalizację i działanie twojej strony.

Czym jest PHP?

PHP jest skryptowym językiem programowania, który służy do tworzenia aplikacji webowych i generowania stron www. Przy użyciu PHP zbudowane zostały popularne systemy zarządzania treścią (CMS), takie jak WordPress, czy PrestaShop. Odpowiada on za tworzenie warstwy backendowej strony. PHP jest również interpreterem, czyli programem, który pozwala na odczytanie kodu przez serwer i wykonanie go. Tak jak inne oprogramowanie dostępne na serwerze Twojego hostingodawcy PHP również otrzymuje aktualizacje do nowszych wersji.

Dostępność najnowszej wersji PHP pozwala na implementację na stronie nowych funkcji oraz zauważalnie wpływa na działanie dobrze zoptymalizowanej strony. Interpreter PHP to wersja PHP, którą możesz wybrać w panelu klienta swojego hostingodawcy. Do wyboru masz wiele wersji – zazwyczaj od 5.6 do 8.0, ponieważ aplikacje które możesz zainstalować na serwerze (np. CMS, CRM, itp.) są kompatybilne z różnymi wersjami PHP.

Dla przykładu najnowsza obecnie wersja PrestaShop – 1.7.8 jest kompatybilna z wersjami PHP 7.1 – 7.4 i nie wspiera poprzedniej wersji PHP – 8.0, dostępnej już na większości hostingów. Najnowsza wersja WordPressa – 5.8.2 wspiera natomiast PHP 8.0, jednak nie wszystkie wtyczki są z tą wersją kompatybilne. W tym przypadku zmiana PHP na 8.0 dla strony zbudowanej na jednej ze starszych wersji może spowodować problemy z działaniem jednego z komponentów twojej strony, np. wtyczki lub motywu. Przed dokonaniem aktualizacji wersji PHP dla istniejącej strony warto sprawdzić czy dodatki, na których zbudowana jest Twoja strona są zgodne z wersją interpretera PHP, który chcesz aktywować.

Premiera PHP 8.1

Nowa wersja PHP jest już dostępna w wersji stabilnej, a jej premiera odbyła się 25 listopada 2021 roku.

Przed wydaniem poddawana była testom, podczas których była ona dostępna dla jedynie dla programistów, testerów, administratorów i wszystkich sympatyków języka PHP, którzy chcieli pomóc w dopracowaniu wersji finalnej. Ostatnia wersja testowa PHP 8.1 – Release Candidate 6 została udostępniona 11 listopada 2021. Na jej podstawie zbudowano wersję finalną – dostępną do pobrania już teraz.

W dniu premiery nowej wersji PHP hostingodawca nie udostępnił jej od razu na Twoim serwerze, ponieważ najpierw musi dokonać weryfikacji jej działania na swojej infrastrukturze. Jeśli podczas testów nowej wersji interpretera PHP nie pojawią się błędy w działaniu zostanie ona zaimplementowana na serwerach hostingodawcy i udostępniona użytkownikom. Pamiętaj, że po udostępnieniu PHP 8.1 na Twoim serwerze a przed jej aktywacją dla Twojej strony powinieneś dokonać weryfikacji zgodności nowej wersji z aplikacją, na której zbudowana została strona i zainstalowanymi modułami.

Co nowego w PHP 8.1

PHP 8.1 nie jest tak dużym wydaniem, jak ostatnia stabilna wersja PHP 8, jednak
przyniosła kilka usprawnień i nowości względem poprzednika. Zostały wprowadzone nowe typy i funkcje oraz usprawniona została optymalizacja opcache. Zmiany objęły również kwestię składni języka i rozszerzeń PHP.

Enums

Najważniejszą nowością jest wprowadzenie wsparcia dla Enums, czyli typu enumerated.

Jest to typ wyliczeniowy, który pozwala na wskazanie ograniczonej liczby określonych wartości. Wprowadzony typ wyliczeniowy jest obiektem co pozwala m .in. na implementację interfejsów, czy korzystanie z metod.

Dla przykładu enums może być wykorzystane do określenia statusu, do którego można odwołać się jak do stałej, zgodnie z poniższym przykładem.

enum Status
{
case Draft;
case Active;
case Archived;;
} 

Pozostałe ważne nowości i zmiany w PHP 8.1

  • typ never – funkcja lub metoda z zadeklarowanym typem never nigdy nie zwróci wartości, lecz zgłosi wyjątek lub zakończy się wywołaniem funkcji exit() lub die().
  • typy intersection – podobny do typu łączonego (union types), jednak w tym przypadku następuje wykorzystanie dwóch zadeklarowanych typów. Typ może być wykorzystywany jedynie dla obiektów.
  • funkcje fsync and fdatasync – to funkcje podobnej do obecnej w poprzednich wersjach PHP funkcji fflush, ale wymagają od systemu opróżnienia buforów zapisu. Nowe funkcje mogą się przydać w budowaniu aplikacji, w których istotna jest trwała pamięć masowa.
  • fibers – mechanizm służący do zarządzania paralelizmem. Usprawni działanie frameworków takich jak m.in. ReactPHP.
  • optymalizacja opcache – poprawki, które zwiększą wydajność aplikacji nawet o kilka procent.
  • oznaczenie stałych (const) jako final – pozwala na zablokowanie możliwości zmiany danej stałej.
  • array_is_list() – nowa wbudowana funkcja, która pozwala na określenie czy tablica jest listą w znaczeniu semantycznym.
  • wsparcie dla bezstratnego kodowania plików WebP w rozszerzeniu GD.
  • wsparcie dla nowego formatu plików AVIF (AV1 Image File) w rozszerzeniu GD.

Podsumowanie

Oprócz powyższych funkcji i zmian pojawiło się wiele innych, mniejszych nowości. Nowa wersja nie wprowadza rewolucyjnych zmian, jednak mocno usprawni pracę deweloperów i pozwoli na wykorzystanie nowych możliwości efektywnego budowania aplikacji. Pełna lista nowości dostępna jest na oficjalnej stronie PHP, w dziale wiki, który możesz znaleźć tutaj.

Artykuł odpowiedział na twoje pytanie? Udostępnij go dalej:
Obrazek domyślny
Radosław Góra

Jeden komentarz

  1. Pamiętajcie że WordPress nie wspiera jeszcze w pełni PHP 8.1 i miewa problemy z działaniem i wtyczkami.

Możliwość komentowania została wyłączona.