PHP jest językiem, który przez lata zbierał niezasłużenie złą prasę. Wersje 8.x zmieniły go na tyle, że warto ponownie przyjrzeć się co oferuje. PHP 8.4 wydany pod koniec 2024 roku to kolejny krok w tej ewolucji.
PHP 8.3 - co wniosło
PHP 8.3 wprowadził kilka przydatnych zmian. Typed class constants pozwalają deklarować typ stałych w klasach. Readonly classes upraszczają tworzenie niezmiennych obiektów. Nowa funkcja json_validate() sprawdza poprawność JSON bez parsowania - użyteczna przy walidacji danych przychodzących przez API.
PHP 8.4 - najważniejsze zmiany
PHP 8.4 wprowadził Property Hooks, czyli możliwość definiowania logiki get i set bezpośrednio przy właściwości klasy bez tworzenia osobnych metod. To znacząco skraca kod przy prostych przypadkach. Asymetryczna widoczność (asymmetric visibility) pozwala określić osobno widoczność przy odczycie i zapisie właściwości.
JIT - Just In Time compilation
JIT był dostępny od PHP 8.0, ale w kolejnych wersjach jest coraz lepiej zoptymalizowany. Dla aplikacji webowych typowych CRUD przyspieszenie jest mniejsze niż dla operacji obliczeniowych, ale w niektórych scenariuszach przynosi mierzalne korzyści, szczególnie przy przetwarzaniu danych.
Named Arguments i Match Expression
Wprowadzone wcześniej w PHP 8.0, named arguments i match expression są coraz powszechniej stosowane w nowszym kodzie PHP. Named arguments pozwalają przekazywać parametry funkcji po nazwie, co poprawia czytelność przy funkcjach z wieloma opcjonalnymi parametrami. Match jest bezpieczniejszą i zwięźlejszą alternatywą dla switch.
Wsparcie dla wersji PHP a e-commerce
PrestaShop 8.x wymaga PHP 8.1 minimum. Laravel 11 wymaga PHP 8.2. Jeśli Twój hosting jest na PHP 7.4 lub starszym, jesteś na wersji bez aktywnego wsparcia bezpieczeństwa. Upgrade PHP na serwerze to priorytet, nie opcja. Sprawdź cykl życia wersji PHP na php.net przed planowaniem infrastruktury.
Ekosystem i narzędzia
Narzędzia takie jak PHPStan i Psalm (analiza statyczna) oraz PHP-CS-Fixer i Laravel Pint (formatowanie kodu) stały się standardem w profesjonalnych projektach PHP. Integracja tych narzędzi z procesem CI znacznie podnosi jakość kodu i ułatwia code review.