CakePHP is a framework for PHP, based on Rails for Ruby. Its aim is to aid programming web applications. From the site:
"Cake is a rapid development framework for PHP which uses commonly known design patterns like ActiveRecord, Association Data Mapping, Front Controller and MVC. Our primary goal is to provide a structured framework that enables PHP users at all levels to rapidly develop robust web applications, without any loss to flexibility."
So why do you need a framework for PHP? It saves your time and energy (and money too). Basically a framework offers templating system and easy to use database interface. So you don't have to rebuild your own interface every time. Features of CakePHP:
=> Model, View, Controller Architecture
=> Built-in Validation
=> Application Scaffolding
=> Application and CRUD code generation via Bake
=> Access Control Lists
=> Data Sanitization
=> Security, Session, and Request Handling Components
=> Flexible View Caching
On a related note there is also good tutorial available on line:
One such source of repetition is setting up the creation, retrieval, modification, and deletion interfaces. In this tutorial, I show you how use CakePHP to automate the creation of these interfaces.