Zbliżamy się do Feature Freeze PHP 8.5 (latem 2025). Kilka RFC przeszło głosowanie i jest już w masterze. Przeglądam co jest potwierdzone, co jest w ostatniej rundzie głosowania i które propozycje nie zebrały wymaganego 2/3 głosów. Bez spekulacji – tylko potwierdzone zmiany.
PHP 8.5 wyjdzie prawdopodobnie w listopadzie 2025. Proces RFC jest otwarty i kilka interesujących propozycji jest już w dyskusji lub głosowaniu. Przeglądam co ma realną szansę wejść, co jest wciąż dyskutowane i czego PHP developerzy najbardziej oczekują. Żadnych fake predictions – tylko to co widać w Internals liście i wiki.php.net.
Nowy rok to dobry moment na przegląd tego co dzieje się w ekosystemie PHP i Magento 2. Po kilku intensywnych latach (PHP 8.0 do 8.4, Magento headless, Hyvä, AI tooling) wchodzę w 2025 z kilkoma obserwacjami które mogą mieć realny wpływ na projekty przez kolejne 12 miesięcy. Bez marketingowych bzdur – tylko to co faktycznie widać w kodzie, społeczności i na produkcji.
PHP 8.4 wyszło oficjalnie 21 listopada 2024. Pisałem o RC w lipcu i wrześniu – teraz mam kilka dni z finalną wersją i pierwsze projekty które uruchamiam na 8.4. Property hooks, asymmetric visibility, Lazy Objects, BcMath\Number – wszystko wylądowało dokładnie jak RFC obiecywało. Czas na uczciwy bilans: co od razu wchodzi do kodu, co zaskakuje i jak gładka jest migracja z 8.3.
Do premiery PHP 8.4 zostały dwa miesiące. Przez ostatnie tygodnie śledziłem zamknięte RFC i testowałem na RC2. Lazy Objects to feature który przemknął trochę w cieniu property hooks, a jest równie ciekawy – obiekty tworzone dopiero przy pierwszym dostępie do właściwości. Pokazuję co ostatecznie trafiło do 8.4 i jak to wpłynie na codzienny kod.
PHP 8.4 wychodzi w listopadzie 2024, ale RC1 jest dostępne już teraz. Przez kilka tygodni testowałem property hooks i asymmetric visibility na realnych projektach – data transfer objects, value objects, moduły Magento. Czas na uczciwy raport: co weszło do kodu od razu, co wymaga ostrożności i gdzie są niespodzianki.
var_dump() i microtime() to debugowanie na oko. Blackfire to profesjonalny profiler który pokazuje dokładnie ile czasu i pamięci zajmuje każde wywołanie funkcji w całym stosie – w czasie rzeczywistym, z wizualizacją call graph. Pokazuję jak zainstalować Blackfire w DDEV, jak profilować requesty HTTP i komendy CLI, i jak interpretować wyniki żeby znaleźć prawdziwe wąskie gardła w Magento 2.
Od roku intensywnie używam narzędzi AI w codziennej pracy z PHP i Magento 2. GitHub Copilot, Claude, ChatGPT, lokalne modele przez Ollama – przetestowałem sporo. Czas na uczciwe podsumowanie: gdzie AI realnie oszczędza czas, gdzie zawodzi i jak nie wpaść w pułapkę ślepego ufania generowanemu kodowi.
PHP jest synchroniczny z natury – jeden request, jeden wątek, czekaj na bazę, czekaj na API, czekaj na plik. Ale od PHP 8.1 mamy Fibers, a ReactPHP istnieje od lat i daje pełną asynchroniczność opartą na event loop. Pokazuję kiedy to ma realne zastosowanie, jak działa event loop w PHP i jak napisać prosty serwer HTTP oraz klienta który odpytuje kilka API równolegle.
PHP 8.4 planowane jest na listopad 2024 i ma przynieść dwie zmiany które zmienią sposób pisania klas PHP – property hooks i asymmetric visibility. Property hooks to coś czego brakowało od lat: możliwość definiowania logiki get/set bezpośrednio przy właściwości, bez osobnych metod. Asymmetric visibility pozwala na readonly-like zachowanie z możliwością wewnętrznej modyfikacji. Przeglądam RFC które przeszły głosowanie.
