Laravel vs Symfony – DI, Doctrine vs Eloquent, when to choose which
Laravel and Symfony are the two dominant PHP frameworks, and choosing between them is a real decision in every new project. They share a Symfony core (Laravel uses several Symfony components) but have fundamentally different philosophies: Symfony favours explicitness and flexibility, Laravel favours convention and developer ergonomics. I compare them where it matters most for a PHP developer making an architecture choice.
Magento 2 performance – OPcache, Redis, N+1 queries, Blackfire, priority table
Magento 2 performance is a broad topic, but the high-impact improvements follow a clear priority order. OPcache configuration is free and immediate. Redis correctly configured reduces PHP cycles. N+1 queries are the single biggest source of slowness in custom code. Blackfire makes the invisible visible. I show a prioritised approach with concrete configurations and code examples.
- Published in Magento / Adobe Commerce
TypeScript for the PHP developer – types, interfaces, generics, async/await
TypeScript is to JavaScript what strict_types + PHPStan is to PHP – it adds a type system on top of a dynamically typed language and catches errors before runtime. For a PHP developer the concepts are familiar: interfaces, generics, union types. I show the most important TypeScript features from the perspective of someone who thinks in typed PHP daily.
- Published in JavaScript
PHP 8.2 – readonly classes in practice, deprecations, Rector, migration checklist
PHP 8.2 was officially released on 8 December 2022. A month of using readonly classes in new modules and patching dynamic properties in older code gives a clear practical picture. I show what readonly classes look like in real Magento 2 code, the most common dynamic property violations and how to fix them with Rector, and a migration checklist for upgrading existing projects.
- Published in PHP
