PHP / Magento Dev Blog

  • Publikacje
  • O autorze
  • Kontakt

PHP Enumeracje zaawansowane – backed enums, metody, interfejsy, Magento 2

  • 0
Henryk Tews
środa, 03 czerwca 2026 / Opublikowano w PHP

Enumy weszły do PHP w wersji 8.1 i są czymś więcej niż tylko typowaną listą stałych. Backed enums z wartościami string lub int, metody na enumach, implementacja interfejsów, cases jako argumenty funkcji – to narzędzia które eliminują całą klasę błędów związanych z magic strings i niezwalidowanymi wartościami. Pokażę wszystkie możliwości z praktycznymi przykładami z Magento 2.

(więcej…)

Migracja z Magento 1: dlaczego zwłoka to rosnące ryzyko

  • 0
Henryk Tews
poniedziałek, 01 czerwca 2026 / Opublikowano w E-commerce

Magento 1 osiągnął End of Life w czerwcu 2020. To ponad pięć lat bez oficjalnych łat bezpieczeństwa. Mimo to część sklepów nadal działa na tej platformie – często dlatego że „jakoś działa” i migracja wydaje się kosztowna i ryzykowna. Obydwa argumenty są prawdziwe. Ale ryzyko zostawania na M1 rośnie każdego miesiąca.

(więcej…)

MSI – Multi Source Inventory: algorytm doboru źródeł, własny SSA

  • 0
Henryk Tews
sobota, 30 maja 2026 / Opublikowano w Magento / Adobe Commerce

Multi Source Inventory (MSI) to jeden z największych refaktoringów w historii Magento 2 – wprowadzony w wersji 2.3. Zamiast jednego globalnego stanu magazynowego, produkty mogą mieć stany w wielu źródłach (magazyny, sklepy stacjonarne, dropshipping). Algorytm doboru źródeł (Source Selection Algorithm) decyduje skąd realizować zamówienie. Pokażę architekturę MSI, jak działa domyślny algorytm i jak napisać własny.

(więcej…)

Magento 2: czy warto i ile kosztuje wdrożenie

  • 0
Henryk Tews
czwartek, 28 maja 2026 / Opublikowano w E-commerce

Pytanie „ile kosztuje Magento 2?” pada regularnie i regularnie nie ma na nie prostej odpowiedzi. Zakres wycen na rynku polskim to 30 000 – 500 000 zł netto. Rozpiętość nie wynika z dowolności agencji, ale z fundamentalnych różnic w zakresie projektu. Poniżej wyjaśniam co faktycznie wpływa na cenę.

(więcej…)

Wzorzec Flyweight – współdzielenie obiektów, cache instancji, Magento 2

  • 0
Henryk Tews
wtorek, 26 maja 2026 / Opublikowano w Wzorce projektowe

Flyweight to wzorzec strukturalny który minimalizuje zużycie pamięci przez współdzielenie jak największej ilości danych między podobnymi obiektami. Zamiast tworzyć tysiące obiektów z powtarzającymi się danymi – tworzysz jeden obiekt i referencje do niego. W Magento 2 ten wzorzec pojawia się w wielu miejscach: tłumaczenia, konfiguracja sklepu, obiekty EAV. Pokażę implementację od podstaw i jak go rozpoznać w istniejącym kodzie.

(więcej…)

Kiedy sklep internetowy potrzebuje audytu wydajności

  • 0
Henryk Tews
niedziela, 24 maja 2026 / Opublikowano w E-commerce

Większość właścicieli sklepów dowiaduje się o problemach z wydajnością od klientów albo z raportu Google Analytics pokazującego spadek sprzedaży. Do tego momentu sklep traci pieniądze każdego dnia. Są konkretne sygnały które pojawiają się wcześniej – i które warto znać.

(więcej…)

Skip List – probabilistyczna struktura danych O(log n), implementacja w PHP

  • 0
Henryk Tews
piątek, 22 maja 2026 / Opublikowano w Algorytmy

Skip List to probabilistyczna struktura danych wynaleziona przez Williama Pugha w 1990 roku. Łączy prostotę listy jednokierunkowej z wydajnością drzewa binarnego – operacje wyszukiwania, wstawiania i usuwania działają w O(log n) średnio, bez potrzeby balansowania jak w AVL czy Red-Black Tree. W PHP jest rzadko używana, ale świetnie ilustruje jak losowość może zastąpić złożone algorytmy balansowania.

(więcej…)

Kurs Gita #7 – debugging i ratowanie: bisect, reflog, reset vs revert

  • 0
Henryk Tews
poniedziałek, 18 maja 2026 / Opublikowano w Git

Każdy programista prędzej czy później popsuje coś w repozytorium. Dobre wiadomości: Git rzadko traci dane na zawsze – reflog rejestruje każdą zmianę HEAD. Bisect skraca wielogodzinne szukanie regresji do kilku minut. Reset ma trzy tryby których mylenie kończy się bólem. Revert to bezpieczna alternatywa na publicznych branchach. Ten wpis to mapa ratunkowa.

(więcej…)

Kurs Gita #6 – hooki i automatyzacja: pre-commit, PHPStan, commit-msg, DDEV

  • 0
Henryk Tews
sobota, 16 maja 2026 / Opublikowano w Git

Git hooks to skrypty uruchamiane automatycznie przy operacjach Gita. Pre-commit hook uruchomiony przed każdym commitem eliminuje klasę błędów zanim trafią do historii. Commit-msg wymusza konwencję wiadomości. Pre-push chroni zdalny branch przed broken code. Pokażę jak to skonfigurować w projekcie Magento 2 z DDEV.

(więcej…)

Kurs Gita #5 – workflow zespolowy: Git Flow, trunk-based, PR, code review

  • 0
Henryk Tews
czwartek, 14 maja 2026 / Opublikowano w Git

Wybór workflow gitowego ma większy wpływ na produktywność zespołu niż większość decyzji technicznych. Git Flow, GitHub Flow, trunk-based development – to kompletne modele pracy, code review i deploymentu. Pokażę kiedy co stosować i co odróżnia dobry pull request od złego.

(więcej…)

  • 5
  • 6
  • 7
  • 8
  • 9
  • 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}