PHP / Magento Dev Blog

  • Publikacje
  • O autorze
  • Kontakt

Observer i Strategy w PHP – wzorce behawioralne

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

Observer i Strategy to dwa z najczęściej używanych wzorców behawioralnych. Observer buduje luźno powiązany system zdarzeń – jeden obiekt zmienia stan, wiele innych reaguje. Strategy wymienia algorytmy jak klocki – ta sama operacja, różne sposoby wykonania. Oba wzorce realizują zasadę Open/Closed z SOLID.

(więcej…)

Adapter i Facade w PHP – wzorce strukturalne

  • 0
Henryk Tews
wtorek, 31 maja 2022 / Opublikowano w Wzorce projektowe

Adapter i Facade to dwa wzorce które rozwiązują problem złożoności interfejsów – ale z różnych stron. Adapter sprawia że niekompatybilny interfejs staje się kompatybilny. Facade upraszcza złożony interfejs do prostego. Oba pojawiają się często przy integracji z zewnętrznymi bibliotekami i API.

(więcej…)

Decorator i Proxy w PHP – wzorce strukturalne

  • 0
Henryk Tews
poniedziałek, 23 maja 2022 / Opublikowano w Wzorce projektowe


Decorator i Proxy to dwa wzorce strukturalne które działają podobnie – oba opakowują obiekt i implementują ten sam interfejs. Różni je intencja: Decorator dodaje nową funkcjonalność, Proxy kontroluje dostęp do obiektu. Subtelna różnica, ale fundamentalna dla prawidłowego zastosowania.

(więcej…)

Singleton i Builder w PHP – wzorce kreacyjne

  • 0
Henryk Tews
wtorek, 17 maja 2022 / Opublikowano w Wzorce projektowe

Singleton i Builder to dwa bardzo różne wzorce kreacyjne. Singleton jest jednym z najkrótszych wzorców GoF i jednym z najczęściej nadużywanych. Builder rozwiązuje zupełnie inny problem – budowanie złożonych obiektów krok po kroku, gdy konstruktor z dziesiątkami parametrów staje się nieczytelny. Pokazuję oba z przykładami i bez owijania w bawełnę mówię kiedy Singleton to zły pomysł.

(więcej…)

Factory Method + Abstract Factory – implementacje od zera, tabela różnic, Simple Factory jako alternatywa

  • 0
Henryk Tews
wtorek, 10 maja 2022 / Opublikowano w Wzorce projektowe

Factory Method i Abstract Factory to dwa najczęściej mylone wzorce kreacyjne. Oba dotyczą tworzenia obiektów, ale rozwiązują różne problemy. Factory Method pyta „który podtyp obiektu stworzyć”. Abstract Factory pyta „jaką rodzinę powiązanych obiektów stworzyć”. Pokazuję oba od zera w PHP z przykładami które ilustrują różnicę.

(więcej…)

Wstęp – czym są wzorce, podział na 3 kategorie, tabele wszystkich 23 wzorców GoF, kiedy używać a kiedy nie

  • 0
Henryk Tews
wtorek, 03 maja 2022 / Opublikowano w Wzorce projektowe

Wzorce projektowe to sprawdzone rozwiązania często powtarzających się problemów w projektowaniu oprogramowania. Nie są to gotowe biblioteki ani fragmenty kodu do skopiowania – to szablony myślenia, które pomagają projektować elastyczny, testowalny i czytelny kod. W tej serii omówię najważniejsze wzorce z katalogu Gang of Four z przykładami w czystym PHP.

(więcej…)

Zasady SOLID w PHP – teoria przekuta w kod

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

SOLID to zestaw pięciu zasad projektowania obiektowego sformułowanych przez Roberta C. Martina. Każdy je zna z nazwy, niewielu stosuje świadomie. Pokazuję każdą zasadę na konkretnym przykładzie PHP – najpierw kod który ją łamie, potem refaktoring, a przy kilku zasadach odniesienie do Magento 2, które SOLID stosuje konsekwentnie w swojej architekturze.

(więcej…)

PHP 8.1 w praktyce – enumy po miesiącach, serializacja do bazy, Money value object

  • 0
Henryk Tews
wtorek, 08 marca 2022 / Opublikowano w PHP

PHP 8.1 wyszło w grudniu 2021. Mam za sobą kilka miesięcy używania enumeracji, readonly properties i intersection types w projektach produkcyjnych. Czas na uczciwe podsumowanie: co weszło do kodu naturalnie, co zaskakuje i gdzie są granice tych nowości w kontekście Magento 2 i starszych baz kodu.

(więcej…)

Chain of Responsibility – łańcuch walidatorów, konfiguracja przez di.xml z sortOrder

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

Chain of Responsibility pozwala przekazywać żądanie przez łańcuch handlerów, gdzie każdy może je obsłużyć lub przekazać dalej. Eliminuje rozbudowane if-else i switch decydujące „kto powinien to obsłużyć”. W Magento 2 ten wzorzec pojawia się w pipeline przetwarzania płatności, middleware HTTP i systemie reguł cenowych. Pokazuję implementację od zera i praktyczne zastosowania.

(więcej…)

Redis – trzy zastosowania, konfiguracja env.php, osobne instancje, monitoring

  • 0
Henryk Tews
wtorek, 11 stycznia 2022 / Opublikowano w Magento 2

Redis jest de facto standardem w produkcyjnych wdrożeniach Magento 2. Zastępuje cache plikowy, obsługuje sesje i może działać jako backend Full Page Cache. Każdy z tych przypadków wymaga osobnej instancji lub bazy Redis z inną konfiguracją. Pokazuję jak to prawidłowo skonfigurować, dlaczego oddzielne instancje mają znaczenie i jak monitorować Redis w środowisku Magento.

(więcej…)

  • 7
  • 8
  • 9
  • 10
  • 11
  • 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}