The Cake PHP MVC framework and its Amazing Technicolor Documentation
Posted by Shane O'Sullivan on July 24, 2006
I’ve recently been looking into various MVC frameworks for PHP, and came across the Cake framework. It’s a port of Ruby On Rails to PHP (or as close to a port as possible), emphasising convention over configurabililty. While it’s very impressive from a technical standpoint, that’s not what is so pleasantly surprising about it – plenty of open source projects have very talented programmers contributing to them, making technical prowess a starting point for OS projects, not a destination. No, what surprised me was the amazing level of documentation for the project.
Simply put, CakePhp has some of the best, most comprehensive, most relevant and best organised documentation I’ve seen in an open source project. Whenever I had a question of any sort, not only did I find documentation “related” to it, I found full tutorials specifying exactly what I needed. In addition to the great docs at their manual and wiki, the also have a full set of API documentation.
Now, many projects state that they have API documentation by virtue of the fact they have some kind of automatic document generation รก la Javadoc, but in the vast majority of cases this just consists of a listing of the available objects/classes and their functions, with extremely sparse explanations of what the methods/classes actually do, how to work with them, caveats etc. CakePhp has all of this. How they convinced open source developers to spend so much time writing documentation, I’ll never understand, but I as I said, I am very, very happy to see it.
I read a blog post that evaluated a number of PHP MVC frameworks, that stated that one of the main reasons Cake didn’t top its list was the seemingly slow pace of development compared to some of the other frameworks. If this kind of documentation, which provides me with everything I could possibly need, is the result of such “slow” development, I could only wish that more open source developers would slow down a bit.

Daniel Hofstetter said
Thanks for the compliment
If you see ways we can further improve the docs please let us know at http://trac.cakephp.org.
PHPDeveloper.org said
Shane O’Sullivan’s Blog: The Cake PHP MVC framework and its Amazing Technicolor Documentation…
…
Oscar said
CakePHP’s documentation is really an advantage for the project. I’ve checked out some other frameworks and without good documentation it gets frustrating real easy.
Rhett Brown said
Not to mention the direct connection to the developers. #cakephp at irc.freenode.net is constantly brimming with useful question and answer dialogue, and the creators of CakePHP are almost ALWAYS there, patiently guding nascent bakers along.
Shane said
Absolutely – any time I’ve gone there for help, at least one of the main developers was there and was very helpful
Hakim singh Nigam said
CakePHP follows the MVC software design pattern. Programming using MVC separates your application into three main parts:
1. The Model represents the application data
2. The View renders a presentation of model data
3. The Controller handles and routes requests made by the client
Hakim singh Nigam(GLA Insitute of Technology and Management Mathura (UP)) said
Plz responds me at my id