From Seo Wiki - Search Engine Optimization and Programming Languages

Jump to: navigation, search

CakePHP is an open source web application framework for producing web applications. It is written in PHP, modeled after the concepts of Ruby on Rails, and distributed under the MIT License.[1]



CakePHP started in 2005, when Ruby on Rails was gaining popularity. The community has since grown and spawned several sub-projects.[2][3] CakePHP is not a port of Ruby on Rails to PHP, but appropriates many of its useful concepts.

Lithium fork

In October 2009, project manager Garrett Woodworth and developer Nate Abele resigned from the project to focus on Lithium,[4][5] a framework code base originally being developed at the CakePHP project as "Cake3", but which was not agreed upon by the entire development team as a replacement for CakePHP. The remaining development team continued to focus on the original roadmap that was previously defined.[6]

Features of CakePHP

Like Rails, CakePHP makes it easier for the user to interface with the database with the active record pattern. It also encourages use of the model-view-controller architectural pattern. Upcoming version 2.0 of CakePHP is being modeled around the Data Mapper architectural pattern.[7] Its features include:

Console applications

CakePHP offers a CLI accessed by the "cake" command. There are several core console applications available in the library, among them:

  • "acl" for the management of Access Control Lists
  • "bake" for the generation of models, controllers and views
  • "i18n" for application internationalization
  • "schema" for database schema creation and migration.
  • "testsuite" for running unit tests, including model, controller and web tests.

Developers can also create their own "shells" and shared functionality across these shells called "tasks" (in CakePHP's parlance).[18] 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.

See also


  1. "CakePHP Manual - What is CakePHP?". Retrieved 2007-12-10. 
  2. "CakeForge". Retrieved 2009-09-05. 
  3. "TheChaw". Retrieved 2009-09-05. 
  4. Rampersad, Ryan (2009-10-23). "The State of CakePHP". Retrieved 2009-11-06. 
  5. "Lithium project web site". Retrieved 2009-11-06. 
  6. "The Cake is Still Rising". Retrieved 2009-10-25. 
  7. "CakePHP 2.x Roadmap". Retrieved 2009-10-26. 
  8. "CakePHP 2.x Roadmap". Retrieved 2009-10-26. 
  9. "Developing with CakePHP - Scaffolding". Retrieved 2009-07-09. 
  10. "Understanding Model-View-Controller". Retrieved 2009-09-04. 
  11. "Data Validation - Common Tasks with CakePHP". Retrieved 2009-09-04. 
  12. "Data Sanitization - Common Tasks with CakePHP". Retrieved 2009-09-04. 
  13. "Internationalization and localization - Common Tasks with CakePHP". Retrieved 2009-09-04. 
  14. "Core Behaviors". Retrieved 2009-09-05. 
  15. "Core Components". Retrieved 2009-09-04. 
  16. "Core Helpers". Retrieved 2009-09-04. 
  17. "Testing - Common Tasks with CakePHP". Retrieved 2009-09-04. 
  18. "Creating Shells & Tasks - The CakePHP Console". Retrieved 2009-09-04. 


External links

Personal tools

Served in 1.281 secs.