One of the main reasons that most of the modern web applications are built on a framework is for faster development. Using frameworks, like CakePHP, it is possible to develop web applications much faster than it would have been possible using raw PHP. Other than the MVC pattern, CakePHP comes with many other tricks and magic that aids in faster web development.
One of the main philosophies of the CakePHP design is to have minimum number of configurations. Configurations are normally required to make sure that the system is properly set up, and behaving the way we want it. But with CakePHP, these configurations are kept to minimum. In fact, the only thing that we need to get CakePHP running is to let it know the name of the database to use, and nothing else need to be specified!
CakePHP was designed in a way that it relied more on conventions than on configurations. Conventions are stuffs like the name of the database fields, name and locations of models, controllers and views. If these are named and placed according to the CakePHP conventions, Cake will automatically find and use them properly. That is why it is important to understand the naming conventions that CakePHP uses. Once we are familiar with that, we will never have to worry about configuration again.
Just imagine how much easier it would be if we have a working code base that is specific to the application we want to develop, even before we have started to write a single line of code. Well, with CakePHP, we do not need to imagine anymore, because it is a reality. CakePHP built-in code generator is more commonly known as the baking script. All we need to do is to specify the database tables for the project, and start baking! It will automatically create the models, controllers, and views that we need. Using this generated code, we will have a running application that can insert, edit, list, and delete data from all the database tables.