Last summer the development team at When I Work started to develop an open source framework that would be the basis for future projects and provide a migration path from our aging Kohana codebase to something more modern. Originally we called it Spark. While we liked the idea of "…

As someone who most often works with PHP I often find myself envious of the more advanced data structures that are present in a language like Python. As an experiment, I decided to see if it would be possible to bring some of those basic structures to PHP while also…

Dependency Inversion is Hard One of the hardest things to do properly when following SOLID principles is Dependency Inversion. I struggled to understand and implement this concept for years. Often I wondered if it was really worth the trouble to write all of that extra configuration just to simplify testing.…