Własny resolver GraphQL w Magento 2 to kilka plików konfiguracyjnych i klasa PHP – o tym pisałem już w 2020. Ale gdy resolver pojawia się w produkcji pod ruchem, zaczynają się prawdziwe problemy: N+1 queries przez zagnieżdżone pola, brak cache dla drogich operacji i trudne debugowanie. Pokazuję jak napisać resolver produkcyjnej jakości z batch loadingiem i granularnym cache.
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.
Każda strona marketingowa Hyvä pokazuje PageSpeed 95+ vs Luma 40. Ale jak wygląda to w prawdziwym projekcie z kilkoma tysiącami produktów, kilkudziesięcioma modułami zewnętrznymi i realnym ruchem? Przeprowadziłem benchmark na identycznym projekcie Magento 2.4.8 z dwoma motywami – Luma i Hyvä – na tym samym serwerze, z tym samym stack’iem. Pokazuję liczby.
Kubernetes pojawia się w coraz większej liczbie projektów e-commerce na poziomie infrastruktury. Jako PHP developer nie musisz pisać Helm chartów ani konfigurować RBAC – od tego są DevOps. Ale gdy deploy się wysypuje, pody crashują albo request timeout nie działa tak jak powinien – rozumienie co się dzieje wewnątrz klastra Kubernetes jest niezbędne do diagnozowania problemów. Pokazuję minimalny zestaw wiedzy który naprawdę pomaga.
Specification to wzorzec który pozwala enkapsulować reguły biznesowe w osobnych, komposytowalnych obiektach. Zamiast rosnącego if-elsa w serwisie albo powtarzającego się kodu filtrowania w kilku miejscach, każda reguła to osobna klasa którą można łączyć przez AND, OR i NOT. Świetnie sprawdza się przy filtrach produktów, regułach rabatowych i walidacji zamówień.
Setny wpis to dobry moment na retrospektywę. Blog zaczął się w lipcu 2018 – wtedy PHP 7.2 był świeży, Magento 2.3 dopiero wychodziło, Docker był „tym nowym narzędziem” a AI coding tools nie istniały. Przez ponad 6,5 roku zebrałem tu 100 wpisów o PHP, Magento 2, wzorcach projektowych i środowiskach deweloperskich. Dziś podsumowuję największe zmiany które faktycznie wpłynęły na moją codzienną pracę.
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.
System indeksowania Magento 2 to jeden z bardziej niedocenianych mechanizmów platformy. Gdy masz własne dane które muszą być szybko dostępne – ceny z zewnętrznego ERP, stany magazynowe z WMS, własne atrybuty wyszukiwania – napisanie własnego indeksera jest często lepszym rozwiązaniem niż zapisywanie wszystkiego do EAV przy każdym zapytaniu. Pokazuję jak zbudować kompletny indekser z obsługą pełnej i częściowej reindeksacji.
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.
Ostatni dzień 2024 roku to dobry moment na podsumowanie zmian w Magento 2.4.8 które pojawiło się w tym roku. Największa zmiana techniczna to oficjalne wsparcie PHP 8.4 i przejście z Elasticsearch na OpenSearch jako domyślny silnik wyszukiwania. Przeglądam co to oznacza dla istniejących projektów i jak wygląda migracja.
