As I’ve mentioned before, we’re using CakePHP for our development at work. Cake was the first formal MVC framework that I’d worked with, although at Asbury we had developed an MVC framework in house, almost unbeknownst to us. That is to say, we developed a sane web app framework, and weren’t aware that someone had already given a name to the pattern. Shame on us for not doing our research a little better.
Also, the other half of the web team had started working with RoR before I left, but I didn’t really look at it seriously.
CakePHP is one of many PHP MVC frameworks, and, naturally, there are a variety of opinions as to which one is the best. I can’t claim to have done a careful comparison. How did I choose Cake? I like to hire people smarter than myself, and trust their judgement. This was the recommendation that came up from that team of smarter people. And I certainly have to admit that Cake really works with the way I think, and is very much the effect that we were trying to achieve with our framework at Asbury. We didn’t quite get there, but we were headed very much in the right direction.
The CakePHP book from Packt Publishing was very helpful as an overview of what was possible. It has practical examples of what can be done, and has careful explanation of each step. In conjunction with the amazing online documentation, it provides a solid footing for jumping right in to writing Cake apps the first week.
One place the online docs are sorely lacking is the V part of MVC. The online docs are for programmers, not for designers – or perhaps “written by” is the better thing to say there. Either way, the section about views and layouts is still rather weak, although it’s being worked on. The Packt book is a good supplement to this, although it makes more sense on second reading, after a little hands-on experience with the Views stuff.
In short, recommended. 4-out-of-5-stars. Anupom and Ahsanul have done a good job of giving an introduction to Cake app dev in this book, and I’d recommend this as a desk-side reference as you start developing in Cake.
As to the other frameworks – yes, I’ve heard that there’s others that are better. One thing that is obvious, looking at the various frameworks, is that all of them are crazy active – they are all improving by leaps and bounds, and pretty much every feature comparison I’ve looked at is way out of date, and inundated by comments saying “yeah, that’s how it was 6 weeks ago, but you should take a look now!” So I’m pretty sure that the jury is still out on this, and that there will be still several years to watch these things before one emerges as a clear leader – if, indeed, that ever happens. It hasn’t in any other language (with the exception of Ruby) so I don’t know why we’d expect it with PHP.