Jump to content

CakePHP

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by AxiomShell (talk | contribs) at 09:59, 13 March 2007 (rv link to old versions). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
CakePHP
Developer(s)Cake Software Foundation
Stable release
1.1.13.4450 / February 4, 2007
Repository
TypeWeb application framework
LicenseMIT License
Websitewww.cakephp.org

CakePHP is a web application framework written in PHP, modeled after the concepts of Ruby on Rails.

History

Development of CakePHP started in April 2005 by Michal Tatarynowicz.

Michal had started to play around with the Japanese-origin scripting language Ruby using the development framework developed by 37signals called Ruby on Rails and really liked the experience. He found it unfortunate that Ruby on Rails, logically, only works with Ruby: Ruby isn't widely installed on webservers.

But like he said [1]:

But after playing around with Ruby on Rails you don't want to develop software the old way. Rails do all the paperwork involved with connecting to the database, setting up the templating, linking code to URLs in a meaningful way, and so on. You write the application business logics and fire it up. Very fast, very efficient programming, saves a lot of unnecessary bother.

At the time, and until the day of this writing, many attempts have been made to copy Ruby on Rails in PHP and within days CakePHP was quickly criticized[2] for being yet another copy.

It is at this stage that a crucial difference in design philosophy was brought to light through a now somewhat famous response of "Pies" (Michal Tatarynowicz) on that very post:

While it’s difficult to copy Rails in PHP , it’s quite possible to write an equivalent system. I like the terseness of Ruby code, but I need the structure that Rails provides, how it makes me organize my code into something sustainable. That’s why I’m ripping off Rails in Cake :)

CakePHP was to be not an identical copy of Ruby on Rails but a setup similar in design: the concepts and ideas of Ruby on Rails where permitted and needed, the strength of PHP where and when best used.

Features

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
  • Supplies integrated CRUD for database and simplified querying
  • Request dispatcher with good looking, custom URLs
  • Fast, flexible templating (PHP syntax with helper methods)
  • View Helpers for AJAX, Javascript, HTML Forms and more
  • Works from any website subdirectory, with little to no Apache configuration involved
  • Built-in Validation
  • Application Scaffolding
  • Access Control Lists
  • Data Sanitization
  • Security, Session, and Request Handling Components
  • Flexible View Caching

Project status

There is a stable version 1.1. Development on version 1.2 is ongoing.

Footnotes

  1. ^ "CakePHP Introduction". Retrieved 2007-03-13.
  2. ^ "Rails Clones: Bloodsuckers or Useful Drones?". Retrieved 2007-03-13.