CakePHP
From Wikipedia, the free encyclopedia
Screenshot
The CakePHP Default Page |
|
Developed by | Cake Software Foundation, Inc. |
---|---|
Latest release | 1.2.1.8120 / 2009-03-19 |
Written in | PHP |
Operating system | Cross-platform |
Type | Web application framework |
License | MIT License |
Website | http://www.cakephp.org |
CakePHP is an open source web application framework for producing web applications written in PHP. It is written in PHP, modeled after the concepts of Ruby on Rails, and distributed under the MIT License.[1]
Contents |
[edit] History
CakePHP started in 2005, when Ruby on Rails was gaining popularity. The community has since grown and spawned several sub-projects. CakePHP is not a port of Ruby on Rails to PHP, but appropriates many of its useful concepts.
The Mambo Foundation announced in 2007 that it would utilize the CakePHP framework for future versions of its widely used content management system, calling CakePHP a "solid choice and certainly one of the top frameworks available today."[2]
[edit] Features of CakePHP
Like Rails, CakePHP makes it easier for the user to interface with the database with active records. It also encourages use of the model-view-controller architectural pattern.
- Compatible with PHP4 and PHP5
- Integrated CRUD for database and simplified querying
- Request dispatcher with custom URLs
- Templating (PHP syntax with helper methods)
- View helpers for AJAX, Javascript, HTML forms
- Website directory independent
- Built-in validation
- Access control lists (ACL)
- Application scaffolding[3]
- Data sanitization
- Security, session, and request handling components
- View caching
- Unit testing using the SimpleTest framework, available in CakePHP version 1.2
[edit] Console Applications
CakePHP offers a CLI, or Command-line interface, accessed by the "cake" command. There are three core console applications available in the library: "bake" for the generation of models, controllers and views; "acl" for the management of Access Control Lists; and "schema" for database schema creation and migration.
Developers can also create their own "shells" and shared functionality across these shells called "tasks" (in CakePHP's parlance). The scripts have access to the application's models and controllers. An example use-case for this would be the scheduled update of the application's data from an RSS or other data feed, with the full power of the application logic and data relationships created with CakePHP.
[edit] Model-View-Controller
CakePHP adheres to the MVC (Model-view-controller) architectural pattern separating code logic from the user interface. In MVC, the model represents the information (the data) of the application; the view corresponds to elements of the user interface such as text, checkbox items, and so forth; and the controller manages the communication of data and the business rules used to manipulate the data to and from the model.[4]
[edit] See also
[edit] References
- ^ "CakePHP Manual - What is CakePHP?". http://manual.cakephp.org/chapter/intro. Retrieved on 2007-12-10.
- ^ Auld, Chad. Baking Mambo. Jul 20, 2007
- ^ "CakePHP Manual - Application Scaffolding". http://manual.cakephp.org/chapter/scaffolding. Retrieved on 2007-04-23.
- ^ "Model–view–controller". http://en.wikipedia.org/wiki/Model-view-controller. Retrieved on 2009-02-28.
- Books
- Fabio Cevasco, "CakePHP Recipes", New Riders Publishing, 2007, ISBN 0321497732
- David Golding, "Beginning CakePHP: from Novice to Professional", Apress, 2008, ISBN 1430209771
[edit] External links
- Official website
- Official API
- Official Documentation - Official documentation for 1.2 branch
- Community Portal
- Cook up Web sites fast with CakePHP - DeveloperWorks series from IBM on CakePHP
|