PHP / Magento Dev Blog

  • Publikacje
  • O autorze
  • Kontakt

XAMPP vs DDEV vs Warden – pełne porównanie w tabeli

  • 0
Henryk Tews
wtorek, 14 maja 2019 / Opublikowano w Środowiska

Każdy PHP developer prędzej czy później staje przed pytaniem: jak postawić lokalne środowisko? Przez lata XAMPP był domyślną odpowiedzią. Dziś mamy znacznie więcej opcji – i znacznie więcej powodów, żeby zrezygnować z XAMPP na rzecz narzędzi opartych na Dockerze. Porównuję trzy popularne podejścia z perspektywy pracy z PHP i Magento 2.

(więcej…)

Wyszukiwanie binarne – O(log n) vs O(n) z tabelą porównawczą

  • 0
Henryk Tews
wtorek, 09 kwietnia 2019 / Opublikowano w Algorytmy

Wyszukiwanie liniowe działa zawsze. Przelatujesz przez każdy element po kolei i w końcu znajdziesz to, czego szukasz. Problem pojawia się przy 100 000 elementach, gdy robisz to w pętli. Wyszukiwanie binarne rozwiązuje ten problem elegancko – ale tylko jeśli dane są posortowane. Pokazuję implementację w PHP i sytuacje, gdzie naprawdę robi różnicę.

(więcej…)

Wzorzec Observer w PHP i system zdarzeń Magento 2

  • 0
Henryk Tews
wtorek, 19 marca 2019 / Opublikowano w Wzorce projektowe

Observer to jeden z najczęściej stosowanych wzorców w programowaniu obiektowym, a w ekosystemie Magento 2 jest wbudowany w sam rdzeń platformy. Jeśli kiedykolwiek pisałeś obserwatora zdarzenia w Magento, używałeś tego wzorca – często nie zdając sobie z tego sprawy.

(więcej…)

Service Contracts – Data Interfaces i Repository Pattern

  • 0
Henryk Tews
wtorek, 12 lutego 2019 / Opublikowano w Magento 2


Bezpośrednie użycie modeli Magento 2 w swoim kodzie to kusząca droga na skróty. Model jest pod ręką, ma metodę której szukasz, działa. Problem pojawia się przy aktualizacji Magento, gdy wewnętrzna implementacja modelu się zmienia. Service Contracts to odpowiedź Magento na ten problem – stabilne, publiczne API oddzielone od implementacji.

(więcej…)

PHP 7.3 – JSON_THROW_ON_ERROR, elastyczny Heredoc, array_key_first/last

  • 0
Henryk Tews
wtorek, 08 stycznia 2019 / Opublikowano w PHP


PHP 7.3 wyszło oficjalnie w grudniu 2018. Nie jest to rewolucja, ale kilka zmian realnie wpływa na codzienny kod – szczególnie praca z JSON-em, elastyczniejsza składnia Heredoc i kilka nowych funkcji tablicowych. Przeglądam to, co faktycznie przyda się w projekcie.

(więcej…)

DDEV – lokalne Magento 2 w 10 minut, porównanie z XAMPP

  • 0
Henryk Tews
wtorek, 11 grudnia 2018 / Opublikowano w Środowiska

Przez lata stawianie lokalnego środowiska Magento 2 to był rytuał bólu: XAMPP z ręczną konfiguracją vhostów, walka z wersjami PHP, niemożliwe do odtworzenia „u mnie działa”. DDEV rozwiązuje ten problem elegancko – Docker pod spodem, prosta konfiguracja YAML na wierzchu. Pokazuję jak to wygląda w praktyce.

(więcej…)

Sortowanie w PHP – bubble sort, merge sort, usort() i operator <=>

  • 0
Henryk Tews
wtorek, 13 listopada 2018 / Opublikowano w Algorytmy

Sortowanie to temat, który większość z nas „odhacza” na studiach i wraca do niego tylko przy rozmowach rekrutacyjnych. Tymczasem świadomość tego, jak działają algorytmy sortowania, pomaga podejmować lepsze decyzje nawet w codziennej pracy z PHP i bazami danych. Przechodzę przez kilka klasycznych podejść, piszę je w PHP i pokazuję gdzie ma to realne zastosowanie.

(więcej…)

Strategy w PHP – i jak Magento 2 używa go w cenach

  • 0
Henryk Tews
wtorek, 09 października 2018 / Opublikowano w Magento 2, Wzorce projektowe

Strategy to jeden z tych wzorców, które po pierwszym kontakcie wydają się zbędną komplikacją. Po co opakowywać jeden algorytm w osobną klasę? Sens widać dopiero przy drugim, trzecim algorytmie – gdy zamiast rosnącego if-elsa masz czysty, wymienialny kod. Pokazuję jak to działa w PHP i gdzie Magento 2 stosuje ten wzorzec bez Twojej wiedzy.

(więcej…)

Plugin vs Preference w Magento 2 – kiedy co stosować

  • 0
Henryk Tews
wtorek, 11 września 2018 / Opublikowano w Magento 2

Jednym z najczęstszych pytań przy pracy z Magento 2 jest: czy nadpisać klasę przez preference, czy użyć plugin? Odpowiedź jest prawie zawsze ta sama – używaj pluginu. Ale „prawie” robi tu dużą robotę. Wyjaśniam różnice i pokazuję, kiedy preference ma sens.

(więcej…)

Xdebug – konfiguracja, PHPStorm, debugowanie pluginów Magento

  • 0
Henryk Tews
niedziela, 12 sierpnia 2018 / Opublikowano w Środowiska

Każdy zaczyna od var_dump() i die(). Ale po kilku latach pracy z PHP i Magento 2, te metody zaczynają boleć – szczególnie gdy debugujesz złożony proces zamówienia z dziesiątkami pluginów. W tym wpisie pokazuję, jak ustawić Xdebug i dlaczego warto to zrobić raz, a dobrze.

(więcej…)

  • 11
  • 12
  • 13
  • 14
  • 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}