| CakePHP | |
|---|---|
| Developer | Cake Software Foundation, Inc. |
| Initial release | April 2005; 20 years ago (2005-04) |
| Stable release | 5.3.0[1] |
| Written in | PHP |
| Operating system | Cross-platform |
| Platform | PHP 8.1+ |
| Available in | Multilingual |
| Type | Web framework |
| License | MIT License |
| Website | cakephp |
| Repository | |
CakePHP is anopen-sourceweb framework. It follows themodel–view–controller (MVC) approach and is written inPHP, modeled after the concepts ofRuby on Rails, and distributed under theMIT License.[2]
CakePHP uses well-knownsoftware engineering concepts andsoftware design patterns, such asconvention over configuration,model–view–controller,active record,association data mapping, andfront controller.
CakePHP started in April 2005, when the Polish programmer Michal Tatarynowicz[3] wrote a minimal version of arapid application development framework inPHP, dubbing it Cake.[4][5][6] He published the framework under the Public Domain license - which was soon changed to MIT License - and opened it up to the online community of developers.[citation needed]
In December 2005, L. Masters and G. J. Woodworth founded the Cake Software Foundation to promote development related to CakePHP.[6] Version 1.0 was released in May 2006.
One of the project's inspirations wasRuby on Rails, using many of its concepts.The community has since grown and spawned several sub-projects.[7][8]
In October 2009, project manager Woodworth and developer N. Abele resigned from the project to focus on their own projects, including theLithium web framework (previously part of the CakePHP project). The remaining development team continued to focus on the original roadmap that was previously defined.[9]
Plugins allow developers to package combinations of controllers, models, views and other classes for reuse in multiple applications and by other developers. Since CakePHP 3 it has been possible to install plugins usingComposer.[10]
CakePHP ORM (object-relational mapping) is an advanced PHP hybrid of theactive record pattern and thedata mapper pattern, borrowing core concepts from both. The CakePHP ORM uses two primary object types, the table class representingdatabase tables, and entity classes representing individualtable rows.[11]
Query builder was introduced in CakePHP 3 as a companion to the new ORM. The query builder provides a set of classes and methods for programmatically building SQL queries instead of writing them by hand. The ORM makes extensive use of the query builder.[12]
Routing and reverse routing. The CakePHP router allows for complexHTTP application routing, routing incoming requests to the correct controller and action. Reverse routing creates a relationship between routes and links, ensuring that links are always generated with the correctuniform resource locator.
View Cells provide small, mini-controllers that can invoke view logic and render templates. These are ideal for creating small, reusable page components.
Migrations provideversion control fordatabase schemas. These make it possible to ensure that changes to application logic and corresponding database changes are kept synchronised. This greatly simplifies both CakePHP application deployment, but also development in multi-developer teams. The CakePHP migration tool is based on the Phinx project.
Automatic pagination to make it easy for developers to paginate result sets generated by the ORM or Query Builder.
Form builder and validator allows for the programmatic generation offorms that are tied to the model layer for both data types and validation.[13]
CakePHP Bake is a tool for automatically generating application,skeletons andboilerplate code. It uses a pre-existing database schema to infer the correctdata relations and data types and using that to generate a full set of controllers, model object and view templates. It can generate a basicCRUD application with zero coding.[14]
| Year[15] | Location |
|---|---|
| 2025 | Madrid, Spain |
| 2024 | Esch-sur-Alzette, Luxembourg |
| 2023 | Los Angeles, USA |
| 2022 | Virtual |
| 2021 | Virtual |
| 2020 | Virtual |
| 2019 | Tokyo, Japan |
| 2017 | New York, NY, USA |
| 2016 | Amsterdam, Netherlands |
| 2015 | New York, NY, USA |
| 2014 | Madrid, Spain |
| 2013 | San Francisco, CA, USA |
| 2012 | Manchester, UK |
| 2011 | Manchester, UK |
| 2010 | Chicago, IL, USA |
| 2009 | Berlin, Germany |
| 2008 | Buenos Aires, Argentina |
| 2008 | Orlando, FL, USA |