Designing a request object in PHP

In my article on Indigo's core design decisions, I spoke on how to handle the request / response cycle. The direction I chose to go is to create a pair of objects and pass them to the controller. This is in contrast with passing an arbitrary number of arguments (typically pulled from the URL), allowing it to locate GET/POST data, and returning an HTML string. Kohana and Drupal both employ systems like this, but I rejected that pattern. I chose this set up for a few reasons:


Indigo's core design decisions

Work on Indigo is proceeding reasonably smoothly. The main focus has been on the routing, controllers, views and database abstraction layer. I've been thinking about a number of design decisions that I made and whether or not they are the right call.


Indigo and DOMi are now available through Packagist

Over the past few months, I've been making use of Composer for managing my project dependencies. I am impressed and hope that the PHP community adopts Composer completely. Thus, it is only natural that I adopt Composer for releasing my work. 


I have been working on a PHP project that will either be my rebirth or my coda in that language, but I don't know which one yet. It is is an MVC framework called Indigo that is the byproduct of several custom built frameworks, with inspiration from Drupal and Kohana. The project came about as I worked on SableOPS and refactored the codebase into a more maintainable system.