I’ve always had trouble wrapping my head around PHP frameworks like Zend and CakePHP. Let’s be clear though – I’m a PHP hack, always doing enough to get the job done without thinking about standards, scalability, or handing off code to another developer. However, I recently discovered the CodeIgniter framework. It’s still MVC, but what sets it apart is it’s flexibility and ease of setup.
I’m not going to go into any detail because I’m still a noob, but if you are looking to move from “anything goes” PHP to a framework that’s easy wrap your head around and provides a gateway to the MVC way of thinking, give CodeIgniter a try.
On a side note, one of the things that drew me to CodeIgniter was it’s relationship to Expression Engine (EE), and in particular, the upcoming 2.0 version that is being built with CodeIgniter. I thought this combination could be very powerful – having a CMS available for which you already could know the guts of it for extensibility, etc. However, after playing with the current version of EE, seeing the learning curve required, and thinking about the cost of each installation for commercial use (EE is not free), I’m not sure sure I’ll use it. That hasn’t dampened my enthusiasm for Codeigniter though. It can stand on it’s own for projects requiring custom development.

I consider myself a “PHP Hack” as well. I’ve just learned it as I went along. I get paid to do it now; so, I guess I should actually call myself a “Professional PHP Developer”. Ummm….no. If someone saw my code, they’d probably laugh.
Anyway, I started looking at all the frameworks about a year ago. I just couldn’t tie myself to them because of the restrictions with the database schemas. In my real day job environment, I’m stuck with many legacy databases with schemas that simply can’t conform to these frameworks’ naming and labeling conventions.
Long story short – If you’re starting from the ground up, frameworks might be great. If you’re dealing with legacy dbs and code, I think you’d be shooting yourself in the foot (and banging your head against the wall) more than you’d be coding.
Too bad I didn’t use my own advice when starting coding on AppBeacon…
CodeIgniter has set itself apart from other frameworks like Cake and Symfony. If you’re into minimal frameworks that help you just “get the job done” I wanted to pass along news of an emerging PHP framework called Recess that I’m a lead developer of. Check it out at http://www.recessframework.org