CakePHP, is it worth it?
After a few weeks of getting into the down and dirty of CakePHP, the question is, "Is it worth using?"
The answer to that question is, "it depends". The application does quite well when working with simple models. This is when the application is the funnest to play with. Putting together a blog application, for example, would be really straightforward. What I've discovered, though, is that while some development often breaks away from this, there's still nothing preventing you from building the application your way. I often feel dirty using my own SQL to pull out an unusual resultset but CakePHP still lets me do it. While it's letting me do my own thing, it even gives me some tools to make this easier.
An example of this was retrieving some form data and then creating a bunch of new records from that data. I couldn't just save my model and be done with it but I was able to create my loop, build up my data, and then save each block of data to the database. This still saved me time of having to build my own framework to do this type of work.
And if I feel like I need something that CakePHP doesn't offer, there's a number of avenues available like components, helpers, and elements (plus much more) where I can build those features in.
How does it compare?
How does it compare to other frameworks like Code Igniter, RoR and Django? Unfortunately, I'll have to leave this one up to you to figure out on your own. I think it's a case of "different strokes for different folks." I think each brings to the table its own set of strengths and weaknesses and that it really depends on what your requirements are.
What about documentation?
Yeah, okay, a bunch of my posts on CakePHP have made mention of what I felt was lacklustre documentation. So, I've decided that instead of complaining about it, I'm actually going to do something about it.
I've joined the CakePHP documentation team and have made some recommendations on moving forward. John Anderson, the documentation project lead, has a good handle on things and I fully expect the next couple months will produce a decent manual along with other materials to make working with CakePHP easier.
I've also started up another blog called With Cake. I'll be posting all my Cake tidbits over there as I really didn't want to clutter up this blog to much. It'll also give me the opportunity to link to general CakePHP news, external CakePHP tips and even have other authors contributing to the blog. If you're interested at all in what Cake can do, I recommend checking it out.