PHP 8.1
PHP 8.1 to wersja języka PHP wydana w listopadzie 2021 roku, która wzbogaciła język o mechanizmy dotąd znane głównie z języków silnie typowanych. Najważniejszą nowością były natywne typy wyliczeniowe, czyli enumy, a także włókna (fibers) stanowiące podstawę dla asynchronicznego przetwarzania.
Na czym polegało znaczenie PHP 8.1
PHP 8.1 skupiło się na dojrzałości języka i lepszym modelowaniu danych:
- enumy (typy wyliczeniowe) — bezpieczne definiowanie zamkniętych zbiorów wartości, np. statusów czy ról;
- właściwości readonly — pola obiektu, których nie można zmienić po inicjalizacji, wspierające niezmienność danych;
- włókna (fibers) — niskopoziomowy mechanizm wstrzymywania i wznawiania wykonania, fundament bibliotek asynchronicznych;
- tablice tylko do odczytu w argumentach oraz nowa składnia first-class callable — czytelniejsze przekazywanie funkcji jako wartości.
Enumy szybko stały się jednym z najchętniej wykorzystywanych elementów nowego PHP, ponieważ eliminowały potrzebę definiowania zbiorów stałych i poprawiały bezpieczeństwo typów.
Zastosowanie w praktyce
PHP 8.1 zostało szeroko przyjęte przez ekosystem — nowoczesne frameworki, w tym Laravel, zaczęły intensywnie korzystać z enumów i właściwości readonly. Ze względu na bogaty zestaw funkcji i długi okres wsparcia z poprawkami bezpieczeństwa wersja ta stała się popularną bazą produkcyjną dla nowych projektów. Aplikacje warto uruchamiać na aktualnie wspieranym wydaniu serii 8, a nowoczesny hosting i serwery VPS pozwalają wybrać odpowiednią wersję PHP i bezpiecznie testować na niej kod przed wdrożeniem.
Enumy jako zmiana codziennej pracy
Wśród nowości PHP 8.1 to właśnie enumy najmocniej zmieniły codzienne pisanie kodu. Wcześniej programiści modelowali zamknięte zbiory wartości, takie jak statusy zamówień czy role użytkowników, za pomocą luźnych stałych lub łańcuchów znaków, co łatwo prowadziło do literówek i trudnych do wykrycia błędów. Natywne typy wyliczeniowe zamknęły te wartości w bezpiecznym, typowanym mechanizmie, który współpracuje z autouzupełnianiem w edytorze i statyczną analizą kodu, wyraźnie zmniejszając liczbę pomyłek.
