CakePHP es un framework web de código abierto . Sigue el enfoque modelo-vista-controlador (MVC) y está escrito en PHP , modelado a partir de los conceptos de Ruby on Rails , y distribuido bajo la licencia MIT . [ 2 ]
CakePHP utiliza conceptos de ingeniería de software y patrones de diseño de software bien conocidos , como la convención sobre la configuración , el modelo-vista-controlador , el registro activo , el mapeo de datos de asociación y el controlador frontal .
Historia
CakePHP comenzó en abril de 2005, cuando el programador polaco Michal Tatarynowicz [ 3 ] escribió una versión mínima de un marco de desarrollo rápido de aplicaciones en PHP , al que llamó Cake. [ 4 ] [ 5 ] [ 6 ] Publicó el marco bajo la licencia de dominio público, que pronto cambió a la licencia MIT, y lo abrió a la comunidad en línea de desarrolladores.
En diciembre de 2005, L. Masters y GJ Woodworth fundaron la Cake Software Foundation para promover el desarrollo relacionado con CakePHP. [ 6 ] La versión 1.0 se lanzó en mayo de 2006.
Una de las inspiraciones del proyecto fue Ruby on Rails , utilizando muchos de sus conceptos. Desde entonces, la comunidad ha crecido y ha dado lugar a varios subproyectos. [ 7 ] [ 8 ]
En octubre de 2009, el director del proyecto, Woodworth, y el desarrollador, N. Abele, renunciaron al proyecto para centrarse en sus propios proyectos, incluido el framework web Lithium (anteriormente parte del proyecto CakePHP). El equipo de desarrollo restante continuó centrándose en la hoja de ruta original que se había definido previamente. [ 9 ]
Características
Los plugins permiten a los desarrolladores empaquetar combinaciones de controladores, modelos, vistas y otras clases para su reutilización en múltiples aplicaciones y por otros desarrolladores. Desde CakePHP 3 es posible instalar plugins usando Composer . [ 10 ]
CakePHP ORM ( mapeo objeto-relacional ) es un híbrido avanzado de PHP que combina el patrón Active Record y el patrón Data Mapper , tomando prestados conceptos clave de ambos. CakePHP ORM utiliza dos tipos de objetos principales: la clase de tabla, que representa las tablas de la base de datos , y las clases de entidad, que representan las filas individuales de la tabla . [ 11 ]
El constructor de consultas se introdujo en CakePHP 3 como complemento del nuevo ORM. Este constructor proporciona un conjunto de clases y métodos para construir consultas SQL mediante programación, en lugar de escribirlas manualmente. El ORM hace un uso extensivo del constructor de consultas. [ 12 ]
Enrutamiento y enrutamiento inverso . El enrutador de CakePHP permite un enrutamiento complejo de aplicaciones HTTP , dirigiendo las solicitudes entrantes al controlador y la acción correctos. El enrutamiento inverso crea una relación entre rutas y enlaces, asegurando que los enlaces siempre se generen con el localizador uniforme de recursos (URL) correcto .
Las celdas de vista proporcionan pequeños minicontroladores que pueden invocar la lógica de la vista y renderizar plantillas. Son ideales para crear componentes de página pequeños y reutilizables.
Las migraciones proporcionan control de versiones para los esquemas de la base de datos . Esto permite garantizar que los cambios en la lógica de la aplicación y los cambios correspondientes en la base de datos se mantengan sincronizados. Esto simplifica enormemente tanto la implementación de aplicaciones CakePHP como el desarrollo en equipos multidisciplinarios. La herramienta de migración de CakePHP se basa en el proyecto Phinx.
Paginación automática para facilitar a los desarrolladores la paginación de los conjuntos de resultados generados por el ORM o el Generador de Consultas.
El generador y validador de formularios permite la generación programática de formularios que están vinculados a la capa del modelo tanto para los tipos de datos como para la validación. [ 13 ]
CakePHP Bake es una herramienta para generar automáticamente aplicaciones, esqueletos y código base . Utiliza un esquema de base de datos preexistente para inferir las relaciones y tipos de datos correctos y, a partir de ahí, generar un conjunto completo de controladores, objetos de modelo y plantillas de vista. Puede generar una aplicación CRUD básica sin necesidad de escribir código. [ 14 ]
Conferencias
Véase también
Referencias
- ↑ "Versión 5.4.0" . 19 de julio de 2026. Consultado el 20 de julio de 2026 .
- ↑ "Manual de CakePHP - CakePHP de un vistazo" . Consultado el 9 de marzo de 2015 .
- ↑ "Colaboradores - cakephp" . cakephp.lighthouseapp.com .
- ↑ "Introducción a CakePHP - 1.1" . book.cakephp.org .
- ↑ "Cakephp:history_of_cakephp [ Neurosciences ] " . Archivado del original el 3 de marzo de 2016. Consultado el 31 de agosto de 2012 .
- 1 2 "Listado" (PDF) . www.cs.colorado.edu . Consultado el 01-07-2019 .
- ↑ "CakeForge" . Archivado del original el 8 de septiembre de 2009. Consultado el 5 de septiembre de 2009 .
- ↑ "TheChaw" . Consultado el 5 de septiembre de 2009 .
- ↑ "The Cake is Still Rising" . Archivado del original el 10 de octubre de 2010. Consultado el 25 de octubre de 2009 .
- ↑ "Plugins" . Consultado el 13 de marzo de 2020 .
- ↑ "ORM" . Consultado el 13 de marzo de 2020 .
- ↑ "Generador de consultas" . Consultado el 13 de marzo de 2020 .
- ↑ "Ayudante de formulario" . Consultado el 13 de marzo de 2020 .
- ↑ "CakePHP 3: Hornea con ejemplos" . 31 de agosto de 2010. Consultado el 13 de marzo de 2020 .
- ↑ "Eventos" . cakefest.org . Consultado el 21 de marzo de 2024 .
Bibliografía
- Munro, Jamie (9 de abril de 2011). Desarrollo rápido de aplicaciones con CakePHP (1.ª ed.). Createspace . pág. 170. ISBN 978-1-4609-5439-3Archivado del original el 14 de julio de 2017. Consultado el 20 de mayo de 2011 .
- Golding, David (21 de julio de 2008). Introducción a CakePHP: de principiante a profesional (1.ª ed.). Apress . pág. 344. ISBN 978-1-4302-0977-5Archivado del original el 12 de enero de 2011. Consultado el 12 de junio de 2009 .
- Chan, Kai; Omokore, John; Miller, Richard (2 de diciembre de 2008). Proyectos prácticos con CakePHP (1.ª ed.). Apress . pág. 400. ISBN 978-1-4302-1578-3Archivado del original el 23/12/2010 . Consultado el 12/06/2009 .
- Watts, James; González, Jorge (5 de agosto de 2014). CakePHP 2 Application Cookbook (1.ª ed.). packtpub . pág. 346. ISBN 9781782160083Archivado del original el 28/01/2020 . Consultado el 05/08/2014 .
Enlaces externos
- Sitio web oficial

- CakePHP en GitHub
- Libro de recetas de aplicaciones CakePHP 2 archivado el 28/01/2020 en Wayback Machine.
- Bibliotecas informáticas gratuitas
- Software libre programado en PHP
- Frameworks de PHP
- marcos de trabajo web
- Motores de plantillas
- Software que utiliza la licencia MIT.