PHP / Magento Dev Blog

  • Publikacje
  • O autorze
  • Kontakt

B2B – Company, Shared Catalog, Negotiable Quote, Requisition List, własne pluginy

  • 0
Henryk Tews
wtorek, 21 maja 2024 / Opublikowano w Magento 2

Magento Commerce (Adobe Commerce) ma dedykowany zestaw modułów B2B – Company, Shared Catalog, Negotiable Quotes, Requisition Lists. Jeśli piszesz moduły dla sklepów B2B, musisz rozumieć jak te mechanizmy działają i jak się z nimi integrować. Pokazuję architekturę B2B od środka, typowe scenariusze i jak rozszerzać bez rozwalania wbudowanej funkcjonalności.

(więcej…)

CQRS – Command Bus, Query Bus, read models, integracja z Magento 2

  • 0
Henryk Tews
wtorek, 07 maja 2024 / Opublikowano w Wzorce projektowe

CQRS (Command Query Responsibility Segregation) to wzorzec architektoniczny który rozdziela operacje odczytu od operacji zapisu. Brzmi jak akademicki abstrakt, ale rozwiązuje realny problem: model danych zoptymalizowany pod zapis (relacyjny, znormalizowany, z walidacją) jest zwykle beznadziejny do odczytu (wiele joinów, skomplikowane mapowanie). CQRS pozwala mieć dwa osobne modele – jeden do zapisu, drugi do odczytu.

(więcej…)

Trie – drzewo prefiksowe, autouzupełnianie, filtr spamu, benchmark vs array

  • 0
Henryk Tews
wtorek, 16 kwietnia 2024 / Opublikowano w Algorytmy

Trie (drzewo prefiksowe) to struktura danych zoptymalizowana pod wyszukiwanie słów i prefiksów. Zamiast porównywać każde słowo ze słownikiem, Trie przechodzi po literach – każdy węzeł to jedna litera, każda ścieżka od korzenia to słowo. Autouzupełnianie w wyszukiwarce, walidacja SKU, wykrywanie spamu – Trie pojawia się w e-commerce częściej niż myślisz. Implementuję od zera w PHP z praktycznymi przykładami.

(więcej…)

AI w pracy PHP developera – Copilot, Claude, Ollama, gdzie pomaga a gdzie zawodzi

  • 0
Henryk Tews
wtorek, 02 kwietnia 2024 / Opublikowano w PHP

Od roku intensywnie używam narzędzi AI w codziennej pracy z PHP i Magento 2. GitHub Copilot, Claude, ChatGPT, lokalne modele przez Ollama – przetestowałem sporo. Czas na uczciwe podsumowanie: gdzie AI realnie oszczędza czas, gdzie zawodzi i jak nie wpaść w pułapkę ślepego ufania generowanemu kodowi.

(więcej…)

REST API security – tokeny, ACL, rate limiting nginx, monitoring podejrzanych requestów

  • 0
Henryk Tews
wtorek, 19 marca 2024 / Opublikowano w Magento 2

Magento 2 REST API to potężne narzędzie – i potencjalny wektor ataku jeśli jest źle skonfigurowane. Domyślnie wiele endpointów jest dostępnych publicznie lub wymaga jedynie tokenu klienta który można wyprowadzić z frontendowej aplikacji. Pokazuję jak prawidłowo zabezpieczyć API: tokeny OAuth, rate limiting, ACL i monitoring podejrzanych requestów.

(więcej…)

ReactPHP – event loop, równoległe HTTP requests, serwer HTTP, Fibers bridge

  • 0
Henryk Tews
wtorek, 05 marca 2024 / Opublikowano w PHP

PHP jest synchroniczny z natury – jeden request, jeden wątek, czekaj na bazę, czekaj na API, czekaj na plik. Ale od PHP 8.1 mamy Fibers, a ReactPHP istnieje od lat i daje pełną asynchroniczność opartą na event loop. Pokazuję kiedy to ma realne zastosowanie, jak działa event loop w PHP i jak napisać prosty serwer HTTP oraz klienta który odpytuje kilka API równolegle.

(więcej…)

Next.js dla PHP developera – SSR, Server Components, GraphQL z Magento, porównanie z MVC

  • 0
Henryk Tews
wtorek, 27 lutego 2024 / Opublikowano w JavaScript

Next.js to React framework który rozwiązuje problem SEO i wydajności aplikacji SPA – renderuje strony po stronie serwera (SSR) lub generuje statycznie (SSG), tak jak klasyczne PHP aplikacje. Dla PHP developera Next.js ma znajomą strukturę: routing oparty na plikach, server-side rendering, API routes jako własny backend. Pokazuję podstawy z perspektywy kogoś kto myśli w PHP i Magento.

(więcej…)

Wzorzec Visitor – double dispatch, eksport CSV/PDF, walidacja bez modyfikacji klas

  • 0
Henryk Tews
wtorek, 13 lutego 2024 / Opublikowano w Wzorce projektowe

Visitor to jeden z trudniejszych wzorców GoF do zrozumienia, ale rozwiązuje bardzo konkretny problem: chcesz dodać nową operację do grupy powiązanych klas bez modyfikowania tych klas. Zamiast dodawać metodę do każdej klasy, tworzysz Visitora który „odwiedza” każdą z nich. Szczególnie przydatny przy AST (drzewach składniowych), formatowaniu danych i eksporcie do różnych formatów.

(więcej…)

Hyvä Theme – architektura, Alpine.js, Tailwind, szablony PHTML, eventy

  • 0
Henryk Tews
poniedziałek, 22 stycznia 2024 / Opublikowano w Magento 2

Luma – domyślny motyw Magento 2 – ma poważny problem z wydajnością. Dziesiątki plików JS, jQuery, RequireJS, knockout.js i plik CSS liczący setki KB. Hyvä (wymawiane „hiuva”, po fińsku „dobry”) to alternatywny motyw który wyrzuca ten stack i zastępuje go Alpine.js i Tailwind CSS. Wyniki PageSpeed skaczą z 30-40 do 90+. Pokazuję architekturę i jak zacząć.

(więcej…)

PHP 8.4 preview – property hooks, asymmetric visibility, chaining new

  • 0
Henryk Tews
wtorek, 09 stycznia 2024 / Opublikowano w PHP

PHP 8.4 planowane jest na listopad 2024 i ma przynieść dwie zmiany które zmienią sposób pisania klas PHP – property hooks i asymmetric visibility. Property hooks to coś czego brakowało od lat: możliwość definiowania logiki get/set bezpośrednio przy właściwości, bez osobnych metod. Asymmetric visibility pozwala na readonly-like zachowanie z możliwością wewnętrznej modyfikacji. Przeglądam RFC które przeszły głosowanie.

(więcej…)

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