Skip to content

2026

Copy-Based Framework: Own Your Code

Most PHP frameworks are installed as Composer packages. They end up in vendor/, behind a version constraint, and you interact with them through their public API. You don't read the implementation. You don't modify it. When something breaks after an update, you adapt your code to match the new version.

Typed collections without generics

PHP does not have generics. A method that returns array gives no compile-time guarantee about what the array contains. PHPDoc annotations like @return array<Book> help static analysers, but they are invisible at runtime. A wrong element slips in, and the error surfaces far from the insertion point.