PHP / Magento Dev Blog

  • Publikacje
  • O autorze
  • Kontakt

PimCore – CMS + PIM + DAM, klasy obiektów, Data Hub GraphQL, integracja z Magento

  • 0
Henryk Tews
wtorek, 12 października 2021 / Opublikowano w PHP, PIM

PimCore to platforma open source oparta na Symfony, która łączy w jednym narzędziu CMS, DAM (zarządzanie zasobami cyfrowymi) i PIM (zarządzanie informacją produktową). W przeciwieństwie do Akeneo, które jest dedykowanym PIMem, PimCore jest bardziej universalny – możesz zbudować w nim zarówno stronę korporacyjną, jak i katalog produktowy zasilający sklep Magento. Pokazuję architekturę i pierwsze kroki z perspektywy PHP developera.

(więcej…)

GitHub Actions – pipeline dla PHP, matrix testów, deploy na staging przez SSH

  • 0
Henryk Tews
wtorek, 14 września 2021 / Opublikowano w Środowiska

Każdy deploy robiony ręcznie przez SSH to potencjalne źródło błędu. GitHub Actions pozwala zautomatyzować testy, analizę statyczną i wdrożenie – bezpłatnie dla publicznych repozytoriów, z hojnym limitem dla prywatnych. Pokazuję jak zbudować pipeline CI/CD dla projektu PHP i modułu Magento 2 od zera.

(więcej…)

Wzorzec Proxy – lazy loading, kontrola dostępu, caching, Proxy w Magento 2

  • 0
Henryk Tews
wtorek, 10 sierpnia 2021 / Opublikowano w Magento / Adobe Commerce, Wzorce projektowe

Proxy to wzorzec który stawia pośrednika między klientem a prawdziwym obiektem. Pośrednik implementuje ten sam interfejs co oryginał, więc klient nie widzi różnicy – a Proxy może robić coś dodatkowego: opóźniać inicjalizację, kontrolować dostęp, logować wywołania lub keszować wyniki. W Magento 2 Proxy jest generowane automatycznie dla klas z ciężkimi konstruktorami.

(więcej…)

UI Components – siatka danych, DataProvider, własne kolumny, konfiguracja XML

  • 0
Henryk Tews
wtorek, 13 lipca 2021 / Opublikowano w Magento / Adobe Commerce

UI Components to jeden z bardziej zagadkowych elementów Magento 2. Siatki danych w panelu admina, formularze edycji, filtry – wszystko to jest zbudowane na UI Components. Dokumentacja Magento jest tu wyjątkowo skąpa, a debugowanie bywa frustrujące. Pokazuję jak to działa od środka i jak napisać własną siatkę danych z filtrowaniem.

(więcej…)

React.js – JSX, useState, useEffect, custom hooks, porównanie z Vue

  • 0
Henryk Tews
wtorek, 08 czerwca 2021 / Opublikowano w JavaScript

W maju pisałem o Vue.js. React to drugi popularny wybór przy projektach headless Magento i PWA. Różni się od Vue filozoficznie – mniej „magii”, więcej jawnego JavaScriptu, JSX zamiast szablonów HTML. Dla PHP developera React wymaga przestawienia myślenia, ale gdy już kliknie – jest bardzo przewidywalny. Pokazuję podstawy z perspektywy kogoś kto na co dzień pisze PHP.

(więcej…)

BFS i DFS – przeszukiwanie grafów, najkrótsza ścieżka, wykrywanie cykli

  • 0
Henryk Tews
wtorek, 11 maja 2021 / Opublikowano w Algorytmy

Grafy to struktury danych, które pojawiają się w zaskakujących miejscach: drzewo kategorii w Magento, zależności między modułami, sieć powiązanych produktów, routing w aplikacjach. BFS i DFS to dwa fundamentalne algorytmy przeszukiwania grafów. Implementuję oba w PHP i pokazuję gdzie realnie je stosuję.

(więcej…)

Cron – grupy, własne joby, harmonogram z panelu admina, debugowanie

  • 0
Henryk Tews
wtorek, 13 kwietnia 2021 / Opublikowano w Magento / Adobe Commerce

Magento 2 intensywnie korzysta z crona – indeksowanie, wysyłka emaili, czyszczenie sesji, synchronizacja kursów walut. Gdy cron przestaje działać, sklep zaczyna się sypać w nieoczywisty sposób: ceny się nie aktualizują, emaile nie wychodzą, indeksy się starzeją. Pokazuję jak działa system crona w Magento, jak pisać własne joby i jak diagnozować problemy.

(więcej…)

Wzorzec Command – undo, CommandBus, makra, integracja z kolejką Magento 2

  • 0
Henryk Tews
wtorek, 09 marca 2021 / Opublikowano w Wzorce projektowe


Wzorzec Command zamienia żądanie wykonania operacji w samodzielny obiekt. To pozwala kolejkować operacje, logować je, cofać (undo), a nawet budować makra z sekwencji komend. W ekosystemie PHP pattern Command znajdziesz w Symfony Console, w Magento jako podstawę systemu kolejkowania i w każdym systemie który obsługuje historię operacji.

(więcej…)

REST API – zasoby vs akcje, kody HTTP, struktura odpowiedzi, wersjonowanie

  • 0
Henryk Tews
wtorek, 09 lutego 2021 / Opublikowano w PHP

Napisanie endpointu który zwraca JSON to prosta sprawa. Zaprojektowanie REST API które jest spójne, przewidywalne i przyjemne w użyciu – to już rzemiosło. Pokazuję zasady dobrego projektowania REST API i jak przekładają się na konkretny kod PHP, z przykładami z perspektywy developera Magento 2 który często implementuje własne API lub integruje z zewnętrznymi.

(więcej…)

PHPUnit – testy jednostkowe, mocki, data providers, testy w Magento 2

  • 0
Henryk Tews
wtorek, 12 stycznia 2021 / Opublikowano w PHP

Testy jednostkowe w projektach PHP to temat który większość developerów zna teoretycznie, ale w praktyce odkłada na „kiedy będzie czas”. A czas nigdy nie przychodzi. Pokazuję jak zacząć z PHPUnit, jak pisać testy które rzeczywiście coś sprawdzają i jak mockować zależności – na przykładach z kodu który realnie wygląda jak kod produkcyjny.

(więcej…)

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