In developing my new framework in PHP I will need to take a look around at other frameworks again. Skimming from the cream of the crop in popularity and some old favorites. Sniffing at them to see what gets me high. I will keep track of my adventures in Code Huffing here and share some things I find.
I have been using Zend Framework since it’s first public release, so I will start there and look closly under the hood. (@TODO) My impressions from working with it have been mixed, fortunately it is meant to be pieced out for use with other libs/frameworks to it’s credit. I would like to say “Zend_Db FAIL!” upfront but I want to be serious and give it a last look before I pass judgment. I have found some parts to my liking. It does have one of the most comprehensive View and Controller class sets out there. Not that I like them, but the ZF team has recently gone back to the PHP philosophy of simplicity so maybe the latest version has improved a bit.
Once I give ZF a tearing apart I will take a look at acouple old friends Cake (@todo) and Symfony.(@todo) My favorite framework of all time Qcodo as wained and supposidly been respun as QCubed.(@todo) I am not in love with the name, even though it offers a cute domain name, but we will take it under the hood and see if it is still viable.
Then we will start our own. So why start my own yet to be named framework? Cause I can and want to. Few have the cross platform/language/framework perspective I have, and I have come to like the basic ideas of certain pieces of my experience. Like ADO.NET for data access for example.(@todo) I might experiment with PHP 5.3 namespacing (@todo) and some other things. I like a much more simplified MVC and a much more dynamic data model that makes business modules easier to manage. (@todo) I like a light controller, light yet flexable data model that leans on the business modules for context apropriate view generation. I like an event driven model, which .NET 2.0 feal significantly short of, despite trying very hard. An event driven model is poor in most of the PHP world too. (@todo) I like the idea of a Deligate and a Restfull style event bus spanning the JS/Server communication. All this and more will make my framework a bit different and highly optimized to of all people: myself.