CakePHP 1.2 Final released and some thoughts on frameworks

Congrats to the CakePHP dev team for getting 1.2 final out the door just in time for X-Mas. Read all the details here. I feel somewhat guilty as I have not been able to contribute to 1.2 during the run-up to the final release, but working with it for a side project has been enjoyable and living on the bleeding edge for a side project has not resulted in any show-stopping bugs. That alone is worth mentioning.

I know that frameworks get a bad rap, especially full-stack ones like Cake, but most of those complaints come from people who are unwilling or unable to embrace the constraints on your environment that Cake places. I used to be militant about that sort of thing, but I've come to realize that it just doesn't matter. I'd rather shape my application to leverage the strengths of a framework. Maybe I am just smart enough to figure out workarounds for the weaknesses. But understanding the environment

Terry Chay had an awesome contribution to PHP Advent 2008 where he talked about some funky tricks in PHP and the importance of respecting the environment your code will run in.. After I said nice things about the post on Twitter, he sent this to me (note, this was spread across two tweets):

Thank you. I appreciate the comment. Happy Christmas. :-) I know we don't always agree on things like CakePHP, so the fact that you liked the entry means a lot.

I was disappointed there were no f-bombs in the reply, but it's still nice to have someone you consider on another upper level of competency from you to say nice things back.

Anyway, even if you hate CakePHP I think it's worth investing 5 to 10 minutes of your time to look at the announcement and see just how much stuff is in the 1.2 release and ask yourself how much of that code could you write yourself *and* have it be reusable by others. To me, the fact that I can use much of what is in CakePHP without any modification beyond the conventions is the real reason to use it.