2025 summary – pipe operator in prod, Hyvä mainstream, AI tooling mandatory, 120 posts
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.
- Published in Magento / Adobe Commerce, PHP
Iterator and Generator – lazy processing, yield, IteratorAggregate, memory benchmark
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.
- Published in Wzorce projektowe
Extension Attributes – full implementation with batch loading, REST API, unit tests
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.
- Published in Magento / Adobe Commerce
PHP 8.5 RC1 – pipe operator in real code, pitfalls, readonly inheritance confirmed
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.
- Published in PHP
