Understanding PHP's Shift: Migrating from Resources to Objects
Discover PHP's evolution, shifting focus from resources to objects, offering enhanced programming capabilities.
Posts about PHP development.
Discover PHP's evolution, shifting focus from resources to objects, offering enhanced programming capabilities.
PHP Attributes were added with version 8. In this post, I give an overview and my opinion on where and how to use them.
Pure Intersection Types in PHP8.1 are a language feature to have more control over return and parameter types.
Fibers are introduced to PHP and are a elegant way to simulate parallel work. Read more about how they differ from threads and coroutines.
Complete guide to PHP enums: pure vs backed enums, comparison, pre-8.1 patterns, when not to use enums, and best practices from production codebases.
Complete guide to PHP readonly properties (8.1) and readonly classes (8.2): immutability benefits, getters vs readonly, syntax differences, constraints, and when to use each.
Mocking in unit tests is a powerful technique. This post addresses when and how to use mocks properly in PHP.
Complete guide to PHP traits: what they are, what changed in PHP 8.0–8.3, why they violate SOLID principles, and why Dependency Injection is the better alternative.
Practical guide to migrating PHP applications to Laminas and Mezzio: PSR compliance, module structure, Guzzle builder pattern, ConfigProvider caching, and PSR-7 stream pitfalls.
I set up a home server and manage it with puppet. This blog summarizes the setup step by step and shows my learnings.