PHP / Magento Dev Blog

  • Publikacje
  • O autorze
  • Kontakt

PHP 9.0 pierwsze RFC – co zostanie usunięte, typed arrays dyskusja, timeline

  • 0
Henryk Tews
wtorek, 03 lutego 2026 / Opublikowano w PHP

PHP 9.0 jest planowane na koniec 2027 lub 2028 – jeszcze dużo czasu, ale RFC proces już się toczy. Pierwsze propozycje trafiły na wiki.php.net i listę internals w Q4 2025. Dla PHP developera który ma duże projekty w produkcji to właśnie teraz jest czas żeby zobaczyć co trzeba będzie zmienić. Przeglądam co jest potwierdzone do usunięcia, co jest dyskutowane i jaka jest ogólna filozofia tej wersji major.

(więcej…)

Service Contracts po 8 latach – antypatterns, SearchCriteria bez limitu, testowanie

  • 0
Henryk Tews
wtorek, 20 stycznia 2026 / Opublikowano w Magento / Adobe Commerce

Service Contracts to fundament który odróżnia Magento 2 od poprzedniej wersji. Interfejsy z przestrzeni Api\, repositories, search criteria – w teorii czyste i eleganckie, w praktyce pełne pułapek które widzę regularnie w code review. Przez osiem lat zebrałem zestaw zasad których przestrzegam i antypatternów których unikam. Czas to zebrać w jedno miejsce.

(więcej…)

Trendy 2026 – PHP 8.5 w Magento, PHP 9.0 sygnały, FrankenPHP, AI tooling Q1

  • 0
Henryk Tews
wtorek, 06 stycznia 2026 / Opublikowano w PHP

Nowy rok zaczynam tradycyjnym przeglądem trendów. 2025 był rokiem pipe operatora i konsolidacji Hyvä. 2026 zapowiada się jako rok PHP 8.5 w Magento, pierwszych RFC pod PHP 9.0 i dalszego dojrzewania AI tooling w codziennej pracy developera. Bez przepowiadania przyszłości – tylko to co aktualnie widać w projektach, społeczności i na listach mailingowych php-internals.

(więcej…)

Podsumowanie 2025 – pipe operator, Hyvä mainstream, AI tooling obowiązkowy, 120 wpisów

  • 0
Henryk Tews
wtorek, 30 grudnia 2025 / Opublikowano w Magento / Adobe Commerce, PHP

Ostatni wpis roku 2025 i zarazem siódma rocznica bloga. Lipiec 2018 – grudzień 2025 to 120 wpisów i siedem lat zmian w ekosystemie PHP i Magento 2. W tym roku PHP 8.5 z pipe operatorem, Hyvä jako defacto standard dla nowych sklepów, AI tools które stały się częścią codziennego workflow każdego developera PHP, i rosnąca popularność headless Magento z Next.js. Podsumowanie bez marketingowego bałaganu.

(więcej…)

Iterator i Generator – leniwe przetwarzanie, yield, IteratorAggregate, benchmark pamięci

  • 0
Henryk Tews
wtorek, 02 grudnia 2025 / Opublikowano w Wzorce projektowe

Gdy masz 100 000 zamówień do eksportu albo milion wierszy do importu, wczytanie wszystkiego do tablicy to pewna śmierć przez wyczerpanie pamięci. PHP oferuje dwa eleganckie mechanizmy leniwego przetwarzania: interfejs Iterator dla klas które sami piszemy i Generator (yield) dla prostszego kodu który nie wymaga całej klasy. Pokazuję oba z praktycznymi przykładami z Magento 2.

(więcej…)

Extension Attributes – pełna implementacja z batch loadingiem, REST API, testy

  • 0
Henryk Tews
wtorek, 18 listopada 2025 / Opublikowano w Magento / Adobe Commerce

Extension Attributes to jeden z najbardziej eleganckich mechanizmów Magento 2 który pozwala dodawać pola do istniejących encji (produkty, zamówienia, klienci) bez modyfikowania ich tabel ani klas. Zamiast tego deklarujesz atrybuty w XML, implementujesz plugin do ładowania i zapisywania danych, i Magento automatycznie dołącza je do odpowiedzi REST API i GraphQL. Pokazuję kompletną implementację krok po kroku.

(więcej…)

PHP 8.5 RC1 – pipe operator w realnym kodzie, pułapki, readonly dziedziczenie potwierdzone

  • 0
Henryk Tews
wtorek, 02 września 2025 / Opublikowano w PHP

PHP 8.5 RC1 wyszło w sierpniu 2025. Przez ostatnie tygodnie testowałem na kilku projektach. Pipe operator działa dokładnie tak jak RFC obiecywało – i zmienia sposób pisania przetwarzania danych bardziej niż jakikolwiek feature od czasu match() w PHP 8.0. Ale RC1 przyniosło też kilka niespodzianek których nie było w RFC drafcie. Raport z pierwszych tygodni.

(więcej…)

DDEV zaawansowany – mutagen, własne serwisy, hooks, współdzielona konfiguracja w teamie

  • 0
Henryk Tews
czwartek, 21 sierpnia 2025 / Opublikowano w Środowiska

Pisałem o DDEV w 2018 jako o narzędziu do stawiania Magento lokalnie. Przez 7 lat stało się moim domyślnym środowiskiem do każdego projektu PHP. Ale większość developerów używa tylko podstaw: ddev start, ddev ssh, ddev exec. Pokazuję zaawansowane możliwości które realnie wpływają na komfort pracy: mutagen dla wydajności na macOS, własne usługi w docker-compose, współdzielone konfiguracje w teamie i hooks automatyzujące setup.

(więcej…)

Migracja danych prod → dev – mydumper, anonimizacja RODO, hooks automatyzujące setup

  • 0
Henryk Tews
wtorek, 05 sierpnia 2025 / Opublikowano w Magento / Adobe Commerce

Każdy developer Magento 2 zna ten problem: produkcyjna baza danych ma 50GB, czas importu 3 godziny, a po imporcie konfiguracja wskazuje na produkcyjne URL-e i tokeny. Pokazuję kompletny workflow: jak wyciągnąć użyteczny dump z produkcji, automatycznie oczyścić dane wrażliwe, zmienić konfigurację środowiskową i skrócić czas importu z godzin do minut.

(więcej…)

PHP Fibers deep dive – własny scheduler, kooperatywna wielozadaniowość, równoległe HTTP

  • 0
Henryk Tews
wtorek, 15 lipca 2025 / Opublikowano w PHP

Fibers weszły do PHP w wersji 8.1 jako niskopoziomowy mechanizm kooperatywnej wielozadaniości. W marcu 2024 pisałem o ReactPHP który buduje na Fibers abstrakcję event loop i async/await. Dziś wchodzę głębiej: jak Fibers działają wewnętrznie, kiedy warto sięgać bezpośrednio do Fiber API bez biblioteki i jak pisać własny prosty scheduler który pozwala równolegle wykonywać zadania w PHP CLI.

(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}