Checkout w Magento 2 to jeden z najtrudniejszych obszarów do customizacji – głęboko zagnieżdżony JSON konfiguracji knockout.js, wielowarstwowe mixiny JavaScript i kilkanaście kroków przetwarzania po stronie PHP. Pokazuję jak dodać własne pole do formularza checkout, własną walidację i jak zmodyfikować kroki procesu bez rozbijania istniejącej funkcjonalności.
PHP 8.3 wyszło oficjalnie 23 listopada 2023. W maju pisałem o zapowiedziach – teraz mam kilka dni na sprawdzenie finalnej wersji. Nie ma tu rewolucji jak w PHP 8.0 czy enumów z 8.1, ale kilka zmian wchodzi do codziennego kodu od razu. Typed constants i json_validate() to te które stosuję natychmiast.
Pytanie „WooCommerce czy Magento 2” wraca regularnie przy każdym nowym projekcie e-commerce. Zwykle odpowiedź jest prosta gdy znasz skalę i budżet. Ale jako developer Magento warto rozumieć WooCommerce od środka – bo klienci pytają, bo czasem projekt tego wymaga, i bo porównanie architektur uczy więcej niż tysiąc tutoriali o jednym frameworku.
GraphQL w Magento 2 pisałem o w lutym 2020. Teraz czas na krok dalej – GraphQL Federation, czyli sposób łączenia wielu niezależnych serwisów GraphQL w jeden spójny supergraf. Gdy architektura mikroserwisów spotyka się z headless commerce, Federation staje się kluczowym narzędziem. Pokazuję architekturę, implementację gateway’a i subgrafów w PHP.
W maju 2021 pisałem o BFS i DFS dla grafów bez wag. Czas na algorytm Dijkstry – klasyczny algorytm znajdowania najkrótszej ścieżki w grafie z wagami nieujemnymi. Pojawia się wszędzie tam gdzie „najkrótsza” nie oznacza „najmniej kroków”, ale „najmniejszy koszt” – routing, optymalizacja dostaw, recommendation engines.
PageBuilder to wizualny edytor stron wbudowany w Magento 2.3.1+. Klienci go kochają – przeciągają bloki, edytują treści bez HTML. Developerzy mają mieszane uczucia – architektura jest złożona, debugowanie nieintuicyjne. Pokazuję jak dodać własny typ zawartości od zera, jak rozszerzyć istniejące typy i czego unikać przy wdrożeniu.
Wzorzec State pozwala obiektowi zmieniać swoje zachowanie gdy zmienia się jego wewnętrzny stan. Z zewnątrz wygląda jakby obiekt zmienił klasę. Jeśli masz klasę z rosnącym if-else który sprawdza „w jakim stanie jestem przed każdą operacją” – to klasyczny kandydat na refaktoring do wzorca State. Implementuję maszynę stanów dla zamówienia e-commerce.
PHP 8.3 planowane jest na listopad 2023. Nie jest to wersja z przełomowymi nowościami jak PHP 8.0 czy 8.1, ale przynosi kilka zmian które realnie poprawią codzienny kod. Typed class constants, json_validate(), nowe metody dla tablic i kilka deprecacji. Przeglądam RFC które przeszły głosowanie i oceniam co realnie trafi do projektów.
Drupal to jeden z najstarszych i nadal aktywnie rozwijanych systemów CMS w ekosystemie PHP. Wersja 8+ to kompletna przebudowa oparta na Symfony – jeśli znasz Magento 2, wiele konwencji będzie znajomych. Pokazuję jak myśleć o Drupalu z perspektywy PHP developera: architektura, system modułów, hooks i gdzie Drupal błyszczy względem WordPressa czy Magento.
Pracując na co dzień z Magento 2 (opartym na komponentach Symfony) rzadko masz okazję spojrzeć szerzej na ekosystem PHP frameworków. Klient prosi o mikroserwis, API, panel administracyjny – i nagle pojawia się pytanie: Laravel czy Symfony? Pokazuję oba z perspektywy doświadczonego developera PHP który zna Magento, ale chce świadomie wybrać narzędzie do nowego projektu.
