CakePHP is an open-source PHP development framework inspired by Ruby on Rails framework. This framework enables you to work in a structured manner, without loss of flexibility. Cake PHP is distributed under MIT license, which is a free license originating at the Massachusetts Institute of Technology (MIT). Specifically, it is a GPL-compatible permissive license, meaning that it permits reuse within proprietary software on the condition that the license is
distributed with that software.
CakePHP offers the following key features: active, friendly community; flexible licensing; compatibility with PHP4 and PHP5; integrated CRUD for database interaction and simplified queries; application scaffolding; Model View Controller (MVC) Architecture; request dispatcher with good looking, custom URLs; built-in validation, flexible view caching; security, Session and Request Handling Components.
What is MVC architecture? MVC (Model View Controller) is a commonly used and powerful architecture for GUIs. MVC is a way of breaking an application in three different parts: the model, the view and the controller. MVC was originally developed to map the traditional input, processing, output roles into the GUI realm:
Input --> Processing --> Output
Controller --> Model --> View
Let`s explain what every term means:
- The Model represents enterprise data and the business rules that govern updates and access to this data. The Model also encapsulates application state, responds to state queries and notifies views of changes.
- The View renders the contents of a model and also requests updates of the models. Another feature is that it can access enterprise data through the model and specifies how that data should be presented.
- The Controller processes and responds to events, typically user actions and may invoke changes on the model.
After you downloaded CakePHP, extract the file to your webserver directory and you will see the following folders: app, cake, docs and vendors. In app folder the applications specific files and folders will be stored. In cake folder you will store the core libraries, so you won`t need to enter this folder. Docs folder is the place Where the documentation files are stored and in the vendors folder you will store the plugins and the third party libraries.