Online

  • The Credential Exchange Technique (Mar 2021) is an essay that describes a way to identify the Domain layer User by passing the identifying information from the Presentation (User Interface) layer into the Application layer, and letting the Application layer coordinate the creation of the Domain layer User instance via Infrastructure implementations.

  • Solving the N+1 Problem in PHP (Mar 2015) is a follow-up to "Modernizing" (2014). In it, you will learn what the N+1 problem is, why it occurs, how to diagnose and discover it in your application, and how to solve it using plain old PHP without an ORM system.

  • Action-Domain-Responder (May 2014) is a technical essay describing a web-specific refinement of the Model-View-Controller pattern.

  • Modernizing Legacy Applications in PHP (Apr 2014) is a step-by-step refactoring guide. As you apply these incremental refactorings in order, each one building on the last, you will steadily transform your legacy PHP application from a spaghetti mess to an organized, modern, testable application, free of globals and mixed concerns.

Paper Only

  • Introduction to Solar (Jul 2006, PHP Architect)
  • Yawp for PHP (May 2005, International PHP Magazine)
  • The Savant Template System for PHP (Feb 2005, International PHP Magazine)
  • Yet Another Wiki for PHP (Dec 2004, International PHP Magazine)