PHP / Magento Dev Blog

  • Home

Hyvä advanced patterns – Alpine.js Store, events, lazy loading, reusable components

  • 0
Henryk Tews
Tuesday, 17 February 2026 / Published in Magento / Adobe Commerce

Once you know the Hyvä basics – PHTML templates, Alpine.js x-data, Tailwind classes – the next step is advanced patterns that make complex features maintainable. Alpine.js Store for shared state, custom events for cross-component communication, lazy loading for heavy widgets, and reusable component patterns are what separate a well-architected Hyvä theme from a pile of inline scripts.

(more…)

PHP 9.0 first RFCs – what gets removed, typed arrays discussion, timeline

  • 0
Henryk Tews
Tuesday, 03 February 2026 / Published in PHP

PHP 9.0 is a future major release that will remove all the deprecated features accumulated since PHP 8.0. The first RFCs are being discussed and voted on. Typed arrays are the most debated addition. I show what is confirmed for removal, what new features are in discussion, and a realistic timeline for when PHP 9.0 will matter for Magento projects.

(more…)

Service Contracts after 8 years – antipatterns, SearchCriteria without limit, testing

  • 0
Henryk Tews
Tuesday, 20 January 2026 / Published in Magento / Adobe Commerce

Service Contracts were introduced in Magento 2.0 as the stable API layer between modules. Eight years later I can look at what worked, what became antipatterns, and what the platform itself got wrong. SearchCriteria without a limit, anemic repositories, and over-reliance on Service Contracts where Events would have been cleaner – I show the patterns and the fixes.

(more…)

Trends 2026 – PHP 8.5 in Magento, PHP 9.0 signals, FrankenPHP, AI tooling Q1

  • 0
Henryk Tews
Tuesday, 06 January 2026 / Published in PHP

2026 opens with PHP 8.5 fresh in production and PHP 9.0 on the horizon. FrankenPHP is maturing towards Magento compatibility. AI tooling is changing the economics of code generation. OpenSearch vector search is arriving in e-commerce. I look at what is worth tracking in the first quarter and what is hype versus signal.

(more…)

2025 summary – pipe operator in prod, Hyvä mainstream, AI tooling mandatory, 120 posts

  • 0
Henryk Tews
Tuesday, 30 December 2025 / Published in Magento / Adobe Commerce, PHP

2025 was the year PHP and Magento development changed gear. PHP 8.5 shipped with the pipe operator, Hyvä became the undisputed default for new Magento projects, AI tools graduated from experimental to mandatory, and the blog reached 120 posts. A retrospective of what actually mattered this year.

(more…)

Iterator and Generator – lazy processing, yield, IteratorAggregate, memory benchmark

  • 0
Henryk Tews
Tuesday, 02 December 2025 / Published in Wzorce projektowe

Iterator and Generator are two related but distinct mechanisms in PHP. Iterator is a GoF pattern that gives sequential access to a collection without exposing its internal structure. Generator is a PHP language feature that creates an Iterator using yield – without storing all values in memory at once. I show both, benchmark the memory difference, and apply them to large-scale Magento product processing.

(more…)

Extension Attributes – full implementation with batch loading, REST API, unit tests

  • 0
Henryk Tews
Tuesday, 18 November 2025 / Published in Magento / Adobe Commerce

Extension Attributes are Magento 2’s mechanism for extending existing entities (Product, Order, Customer) without modifying core tables. They participate in the REST API automatically and can carry any data type. Most tutorials show a simple string attribute. I show a complete implementation with batch loading (fixing N+1), REST API exposure with serialisation, and unit tests.

(more…)

PHP 8.5 RC1 – pipe operator in real code, pitfalls, readonly inheritance confirmed

  • 0
Henryk Tews
Tuesday, 02 September 2025 / Published in PHP

PHP 8.5 RC1 is out and the pipe operator is in it. After weeks with real Magento 2 module code using the RC, I can report what the pipe operator is genuinely good for, where it creates surprises, and confirm that readonly property inheritance works exactly as the RFC described. This is practical experience, not theory.

(more…)

DDEV advanced – mutagen, custom services, hooks, shared team configuration

  • 0
Henryk Tews
Thursday, 21 August 2025 / Published in Środowiska

DDEV out of the box is fast to set up but the defaults leave performance on the table. Mutagen file sync, custom services, project hooks, and shared team configuration in version control reduce friction for everyone on the project. I show the advanced DDEV setup I use on large Magento 2 projects with multiple developers.

(more…)

Production to dev migration – mydumper, GDPR anonymisation, DDEV automation hooks

  • 0
Henryk Tews
Tuesday, 05 August 2025 / Published in Środowiska

Copying a production database to a development environment without a proper process is either a GDPR violation or a security incident waiting to happen. I show a complete pipeline: fast dump with mydumper, automatic anonymisation of personal data, and DDEV hooks that make the sanitised database available to the whole team with a single command.

(more…)

  • 7
  • 8
  • 9
  • 10
  • 11

© 2026 Created by

TOP
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 Always active
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.
  • Manage options
  • Manage services
  • Manage {vendor_count} vendors
  • Read more about these purposes
Zobacz preferencje
  • {title}
  • {title}
  • {title}