PHP 7.4 wyszło w listopadzie 2019. Miałem kilka tygodni na przejście kilku modułów Magento 2 na nową wersję i wyrobienie sobie zdania. Typed properties to zmiana, która realnie wpływa na sposób pisania klas – ale ma też kilka pułapek, na które warto uważać. Pokazuję co działa świetnie, co zaskakuje i jak wygląda migracja istniejącego kodu.

(więcej…)

Operator new w kodzie produkcyjnym to sygnał ostrzegawczy. Klasa tworząca instancje innych klas bezpośrednio jest z nimi silnie sprzężona – trudno ją testować, trudno rozszerzać. Factory Method to wzorzec, który deleguje odpowiedzialność za tworzenie obiektów do dedykowanych klas. W Magento 2 fabryki są wszechobecne – i generowane automatycznie.

(więcej…)

Operacje takie jak wysyłka emaili, synchronizacja z ERP czy przeliczanie indeksów nie muszą blokować requestu HTTP. Magento 2 ma wbudowany Message Queue Framework, który pozwala przerzucać takie zadania do asynchronicznego kolejkowania. Pokazuję jak to działa z RabbitMQ i jak napisać własnego producenta i konsumenta.

(więcej…)

Tablica w PHP to jeden z najczęściej używanych typów danych, ale mało kto zastanawia się jak działa pod spodem. PHP array to w rzeczywistości hash table – struktura danych, która pozwala na dostęp do elementów w czasie O(1). Pokazuję jak to działa, jakie ma konsekwencje praktyczne i gdzie tablice PHP zaskakują swoją wydajnością.

(więcej…)

GÓRA