PHP / Magento Dev Blog

  • Publikacje
  • O autorze
  • Kontakt

Optymalizacja wydajności – OPcache, Redis, N+1 queries, Blackfire, tabela priorytetów

  • 0
Henryk Tews
wtorek, 14 lutego 2023 / Opublikowano w Magento 2

Wolny sklep to utracone przychody. Każde 100ms opóźnienia to mierzalny spadek konwersji. Optymalizacja Magento 2 to nie magia – to systematyczna diagnostyka i eliminacja wąskich gardeł. Pokazuję jak zidentyfikować co spowalnia sklep, jak mierzyć poprawę i które zmiany dają największy efekt w stosunku do nakładu pracy.

(więcej…)

TypeScript dla PHP developera – typy, interface, generics, async/await

  • 0
Henryk Tews
wtorek, 10 stycznia 2023 / Opublikowano w JavaScript

Jeśli przez lata pisałeś PHP z type hintami i declare(strict_types=1), praca z czystym JavaScriptem boli. Brak typów, brak autouzupełniania, błędy które wychodzą dopiero w przeglądarce. TypeScript rozwiązuje ten problem – dodaje do JavaScriptu system typów który PHP developer natychmiast doceni. Pokazuję podstawy z perspektywy kogoś kto myśli w PHP.

(więcej…)

PHP 8.2 po premierze – readonly classes w praktyce, deprecacje, Rector, checklist migracji

  • 0
Henryk Tews
wtorek, 13 grudnia 2022 / Opublikowano w PHP

PHP 8.2 wyszło oficjalnie 8 grudnia 2022. W lipcu pisałem o zapowiedziach – teraz, gdy mam finalną wersję w rękach, czas na uczciwe podsumowanie. Co faktycznie weszło do specyfikacji, co zostało odłożone i jakie są pierwsze praktyczne wrażenia z migracji projektu PHP na nową wersję.

(więcej…)

Wzorzec Template Method – szkielet algorytmu, hooks, abstract vs hook, porównanie ze Strategy

  • 0
Henryk Tews
wtorek, 08 listopada 2022 / Opublikowano w Wzorce projektowe

Template Method to jeden z prostszych wzorców behawioralnych GoF, ale bardzo skuteczny przy eliminowaniu duplikacji kodu. Definiuje szkielet algorytmu w klasie bazowej i pozwala podklasom nadpisać wybrane kroki bez zmiany ogólnej struktury. Jeśli masz kilka klas które robią „to samo, ale trochę inaczej” – Template Method jest kandydatem do refaktoringu.

(więcej…)

MSI – Source, Stock, SSA, własny algorytm, migracja ze starego API

  • 0
Henryk Tews
wtorek, 11 października 2022 / Opublikowano w Magento 2

Multi Source Inventory (MSI) to moduł wprowadzony w Magento 2.3, który całkowicie zmienia sposób zarządzania stanami magazynowymi. Zamiast jednego globalnego stanu dla każdego SKU, masz wiele źródeł (magazynów fizycznych, sklepów, dostawców) i algorytmy wyboru z którego źródła realizować zamówienie. Jeśli rozwijasz moduły Magento i jeszcze nie poznałeś MSI – ten wpis jest dla Ciebie.

(więcej…)

Quicksort – warianty, Introsort, benchmark vs wbudowany sort()

  • 0
Henryk Tews
wtorek, 13 września 2022 / Opublikowano w Algorytmy

W listopadzie 2018 pisałem o podstawowych algorytmach sortowania. Czas na Quicksort – jeden z najważniejszych algorytmów w historii informatyki, średnio O(n log n) i jeden z najszybszych w praktyce. Implementuję kilka wariantów w PHP, pokazuję gdzie Quicksort bije inne algorytmy i dlaczego wbudowany sort() PHP jest szybszy niż własna implementacja.

(więcej…)

Własna metoda płatności – authorize/capture/refund, JS renderer, PCI DSS

  • 0
Henryk Tews
wtorek, 09 sierpnia 2022 / Opublikowano w Magento 2

Implementacja własnej metody płatności w Magento 2 to jeden z trudniejszych tematów – łączy PHP, XML, JavaScript i znajomość procesu checkout. Większość tutoriali zatrzymuje się na „hello world” który pojawia się na liście metod. Pokazuję kompletną implementację: od struktury modułu, przez walidację, po integrację z zewnętrznym gateway’em płatniczym.

(więcej…)

PHP 8.2 preview – readonly classes, DNF types, deprecacja dynamicznych właściwości

  • 0
Henryk Tews
wtorek, 12 lipca 2022 / Opublikowano w PHP

PHP 8.2 planowane jest na grudzień 2022. Najważniejsza nowość to readonly classes – możliwość oznaczenia całej klasy jako readonly bez dekorowania każdej właściwości z osobna. Do tego Disjunctive Normal Form types które rozszerzają system typów o bardziej złożone kombinacje. Przeglądam co wchodzi, co wypada i co to oznacza dla projektów Magento.

(więcej…)

Wzorce GoF w Magento 2 – gdzie je znaleźć i jak działają

  • 0
Henryk Tews
wtorek, 21 czerwca 2022 / Opublikowano w Magento 2, Wzorce projektowe

Magento 2 to jeden z najbardziej wzorcowych (dosłownie) frameworków PHP. Jego architektura jest niemal podręcznikowym przykładem zastosowania wzorców GoF. Jeśli rozumiesz wzorce omówione w tej serii, czytanie kodu Magento staje się znacznie łatwiejsze – zamiast „skąd się to bierze” masz „aha, to Factory” albo „to Observer przez di.xml”. Pokazuję gdzie konkretnie każdy wzorzec żyje w platformie.

(więcej…)

Command i Chain of Responsibility w PHP – wzorce behawioralne

  • 0
Henryk Tews
wtorek, 14 czerwca 2022 / Opublikowano w Wzorce projektowe

Command enkapsuluje operację jako obiekt – z możliwością kolejkowania, logowania i cofania. Chain of Responsibility przekazuje żądanie przez łańcuch handlerów, gdzie każdy może je obsłużyć lub puścić dalej. Oba wzorce oddzielają „kto zleca” od „kto wykonuje”, co daje dużą elastyczność w układaniu logiki aplikacji.

(więcej…)

  • 6
  • 7
  • 8
  • 9
  • 10
  • Publikacje
  • O autorze
  • Kontakt

© 2026 Created by

GÓRA
Zarządzaj zgodą
Aby zapewnić jak najlepsze wrażenia, korzystamy z technologii, takich jak pliki cookie, do przechowywania i/lub uzyskiwania dostępu do informacji o urządzeniu. Zgoda na te technologie pozwoli nam przetwarzać dane, takie jak zachowanie podczas przeglądania lub unikalne identyfikatory na tej stronie. Brak wyrażenia zgody lub wycofanie zgody może niekorzystnie wpłynąć na niektóre cechy i funkcje.
Funkcjonalne Zawsze aktywne
Przechowywanie lub dostęp do danych technicznych jest ściśle konieczny do uzasadnionego celu umożliwienia korzystania z konkretnej usługi wyraźnie żądanej przez subskrybenta lub użytkownika, lub wyłącznie w celu przeprowadzenia transmisji komunikatu przez sieć łączności elektronicznej.
Preferencje
Przechowywanie lub dostęp techniczny jest niezbędny do uzasadnionego celu przechowywania preferencji, o które nie prosi subskrybent lub użytkownik.
Statystyka
Przechowywanie techniczne lub dostęp, który jest używany wyłącznie do celów statystycznych. Przechowywanie techniczne lub dostęp, który jest używany wyłącznie do anonimowych celów statystycznych. Bez wezwania do sądu, dobrowolnego podporządkowania się dostawcy usług internetowych lub dodatkowych zapisów od strony trzeciej, informacje przechowywane lub pobierane wyłącznie w tym celu zwykle nie mogą być wykorzystywane do identyfikacji użytkownika.
Marketing
Przechowywanie lub dostęp techniczny jest wymagany do tworzenia profili użytkowników w celu wysyłania reklam lub śledzenia użytkownika na stronie internetowej lub na kilku stronach internetowych w podobnych celach marketingowych.
  • Zarządzaj opcjami
  • Zarządzaj serwisami
  • Zarządzaj {vendor_count} dostawcami
  • Przeczytaj więcej o tych celach
Zobacz preferencje
  • {title}
  • {title}
  • {title}