PHP 8.1 is due in November 2021 and brings the most significant type system additions since PHP 7.0. Enums solve a problem we have been working around with class constants for years. Readonly properties close the final gap in immutable value objects. Intersection types complete the union types from PHP 8.0. Fibers introduce cooperative multitasking. I go through each with practical examples.
PimCore is an open-source platform that combines CMS, PIM, DAM and e-commerce capabilities in one system. It is less known than Akeneo in PIM circles but offers something Akeneo does not: a full content management layer alongside product data. I show the architecture, object classes that define the data model, the Data Hub GraphQL API, and integration with Magento 2.
GitHub Actions turned CI/CD from a DevOps speciality into something any developer can set up in an afternoon. For PHP projects it means automatic test runs, static analysis, and deployment to staging on every pull request – without maintaining a Jenkins server. I show a practical pipeline for a PHP/Magento project with a test matrix and SSH deployment.
Proxy is a structural pattern that places a surrogate in front of an object to control access to it. Three practical scenarios justify Proxy: lazy loading (deferring expensive creation), access control (checking permissions before executing), and caching. Magento 2 generates Proxy classes automatically for a specific purpose – I show both the GoF pattern and the Magento implementation.
Magento 2 UI Components are the backbone of the admin panel – every grid, form and mass-action uses them. They are also one of the most complex parts of the platform. I show how the data grid works, how to write a DataProvider, add custom columns, and configure everything through XML without touching the JavaScript layer.
After covering Vue.js in September, it is time for React – currently the most popular frontend library for building interactive UIs. React thinks differently from Vue: everything is a function, state flows one way, and JSX looks like HTML in JavaScript. I show the fundamentals from a PHP developer’s perspective and compare the two approaches.
BFS and DFS are fundamental graph traversal algorithms. They appear in unexpected places in web development: finding the shortest path between categories in a tree, detecting circular dependencies between modules, or checking if two nodes in a social graph are connected. I implement both in PHP with practical examples.
Magento 2’s cron system is responsible for dozens of background tasks – reindexing, sending emails, cleaning cache, synchronising with external systems. Writing your own cron job is straightforward, but understanding groups, scheduling, and how to debug when a job is not running saves hours. I show the complete picture.
The Command pattern encapsulates an operation as an object. This sounds abstract until you see the concrete benefits: undo/redo, operation queuing, logging, retry logic – all flow naturally from treating commands as first-class objects. I show the classic GoF implementation, CommandBus, and integration with the Magento 2 message queue.
REST API design is one of those topics where everyone has an opinion but few have a consistent set of rules. Resources vs actions, the right HTTP status codes, response structure, versioning – decisions made here stay with the API for years. I show the principles I follow when designing REST APIs in PHP projects and Magento 2 modules.
