Next.js to React framework który rozwiązuje problem SEO i wydajności aplikacji SPA – renderuje strony po stronie serwera (SSR) lub generuje statycznie (SSG), tak jak klasyczne PHP aplikacje. Dla PHP developera Next.js ma znajomą strukturę: routing oparty na plikach, server-side rendering, API routes jako własny backend. Pokazuję podstawy z perspektywy kogoś kto myśli w PHP i Magento.

(więcej…)

Visitor to jeden z trudniejszych wzorców GoF do zrozumienia, ale rozwiązuje bardzo konkretny problem: chcesz dodać nową operację do grupy powiązanych klas bez modyfikowania tych klas. Zamiast dodawać metodę do każdej klasy, tworzysz Visitora który „odwiedza” każdą z nich. Szczególnie przydatny przy AST (drzewach składniowych), formatowaniu danych i eksporcie do różnych formatów.

(więcej…)

Luma – domyślny motyw Magento 2 – ma poważny problem z wydajnością. Dziesiątki plików JS, jQuery, RequireJS, knockout.js i plik CSS liczący setki KB. Hyvä (wymawiane „hiuva”, po fińsku „dobry”) to alternatywny motyw który wyrzuca ten stack i zastępuje go Alpine.js i Tailwind CSS. Wyniki PageSpeed skaczą z 30-40 do 90+. Pokazuję architekturę i jak zacząć.

(więcej…)

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.

(więcej…)

GÓRA