PHP / Magento Dev Blog

  • Publikacje
  • O autorze
  • Kontakt

Git course #1 – data model: blobs, trees, commits, refs

  • 0
Henryk Tews
Wednesday, 06 May 2026 / Published in Git

Most developers use Git like a magic box: you type something, something gets saved, history somehow works. Until something goes wrong. To stop Git being a black box – start by understanding what actually lives inside the .git/ directory. Four object types: blob, tree, commit, tag. That is it. Everything else follows from these.

(more…)

Magento 2.4.9 – official PHP 8.5 support, what changed and how to migrate

  • 0
Henryk Tews
Monday, 04 May 2026 / Published in Magento 2, PHP

Magento 2.4.9 was released in May 2025 alongside official PHP 8.5 support. This is the first Magento release where PHP 8.5’s pipe operator is available out of the box. Beyond PHP 8.5, the release brings performance improvements, updated dependencies, and deprecation cleanup. I show what actually changed, how to migrate, and which PHP 8.5 features are worth using in modules immediately.

(more…)

AI workflow 2026 – 2 years later, what works, what doesn’t, Claude 200K in practice

  • 0
Henryk Tews
Tuesday, 21 April 2026 / Published in PHP

Two years after I first wrote about AI coding tools, the landscape has changed completely. Context windows went from 8K to 200K+ tokens. Models that were unreliable on Magento code are now genuinely useful. Cursor IDE turned AI from a suggestion machine into a pair programmer. I revisit my 2024 assessment with two years of production experience and concrete workflow changes.

(more…)

OpenSearch 3.x vector search – embeddings via Ollama, k-NN, hybrid search

  • 0
Henryk Tews
Wednesday, 08 April 2026 / Published in Magento 2

OpenSearch 3.x adds neural/vector search capabilities that were previously only available in specialised vector databases. Combined with Ollama running locally for embedding generation, you can add semantic product search to Magento 2 without external API dependencies. I show the complete implementation: generating embeddings, storing k-NN vectors, hybrid search combining text and semantic scoring.

(more…)

Interpreter pattern – own discount rule grammar, parser, expression tree

  • 0
Henryk Tews
Tuesday, 17 March 2026 / Published in PHP, Wzorce projektowe

Interpreter is the GoF pattern for implementing a mini-language. Instead of hardcoding discount rules, you define a grammar and an interpreter that evaluates expressions at runtime. This makes complex pricing rules configurable without code deployments. I build a complete discount rule language in PHP: grammar definition, recursive descent parser, AST, and evaluation.

(more…)

AI-assisted SQL optimisation – LLM + EXPLAIN + Blackfire, 5x speedup

  • 0
Henryk Tews
Tuesday, 03 March 2026 / Published in Magento 2, PHP

SQL optimisation has always required human expertise, but the workflow has changed. I now use an LLM as a pair programmer when reading EXPLAIN output – it translates the cryptic rows into plain English and suggests indexes. Blackfire shows me where the time goes. Together they cut a query from 4.2 seconds to 0.8 seconds in an afternoon. I show the complete workflow with real examples.

(more…)

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

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

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 2

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…)

  • 1
  • 2
  • 3
  • 4

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