Tutorial de CakePHP para principiantes: ¿Qué es el marco CakePHP?
⚡ Resumen inteligente
Este tutorial de CakePHP abarca el framework PHP de código abierto para el desarrollo rápido de aplicaciones web basadas en el patrón MVC. Explica qué es CakePHP, por qué los equipos lo eligen, cómo instalarlo, su estructura de carpetas y configuración, las convenciones de nomenclatura y cómo el patrón Modelo-Vista-Controlador (MVC) impulsa una aplicación CakePHP.

¿Qué es CakePHP?
CakePHP CakePHP es un framework de código abierto para el desarrollo y mantenimiento rápido de aplicaciones web en PHP. Se basa en la arquitectura MVC, que facilita la creación de aplicaciones web en PHP con menos código. Además, permite separar la lógica de negocio de la capa de datos y la capa de presentación.
¿Por qué utilizar el marco CakePHP?
Estas son las principales ventajas de usar el framework CakePHP:
- CakePHP es, con diferencia, una de las plataformas de desarrollo web más rápidas.
- CakePHP permite a los desarrolladores obtener un control mejorado sobre la base de datos y las consultas SQL.
- Permite a los usuarios desarrollar rápidamente aplicaciones web robustas sin perder la flexibilidad de su entorno.
- Apoyo a PostgreSQL, SQLite, MySQLy PEAR-DB para ADODB, una base de datos abstracbiblioteca de ción.
- Facilita la optimización para motores de búsqueda. URLs.
- Proporciona funciones como la validación de entrada y herramientas de saneamiento que hacen que la aplicación sea segura.
- Plantillas con sintaxis PHP familiar.
Cómo instalar CakePHP
La forma recomendada de instalar CakePHP es con Composer, el gestor de dependencias de PHP. Una vez instalado Composer, ejecute el siguiente comando para crear la estructura básica de un nuevo proyecto.
composer create-project --prefer-dist cakephp/app:~5.0 my_app
El comando descarga CakePHP y sus dependencias en una carpeta llamada my_app. Luego puedes iniciar el servidor integrado con bin/cake server y abre http://localhost:8765 en tu navegador. Ten en cuenta que CakePHP 5 requiere PHP 8.1 o posterior.
Historia de CakePHP
En este tutorial de CakePHP, cubriremos la historia del framework CakePHP:
| Año | Milestone |
|---|---|
| 2005 | CakePHP fue desarrollado por Michal Tatarynowicz el 15 de abril de 2005. |
| 2005 | CakePHP lo publicó bajo la licencia MIT y lo puso a disposición de los desarrolladores de la comunidad. |
| 2005 | Larry E Masters asumió el cargo de desarrollador principal. |
| 2006 | Se lanzó la versión 1.0. |
| 2011 | Se lanzó la versión 2. |
| 2014 | Se lanzó la versión 3, una reescritura completa de las versiones anteriores. |
| 2016 | La versión 3.3 de CakePHP se lanzó con muchas funciones avanzadas. |
| 2019 | Se lanzó la versión 4.0, que moderniza el marco de trabajo. |
| 2023 | Se lanzó CakePHP 5.0, que requiere PHP 8.1 o posterior. La versión actual, en 2026, es CakePHP 5.3.x. |
Características de CakePHP
Estas son las características importantes de CakePHP.
- Comunidad activa y amigable
- Arquitectura MVC
- Validación incorporada
- Funciona desde cualquier directorio web, con poca o ninguna configuración de Apache.
- Motor de plantillas
- Operaciones de almacenamiento en caché
- Interacciones CRUD sencillas con la base de datos
- Gestión de componentes como correo electrónico, cookies, seguridad, sesión y solicitudes.
- Ver ayudantes para JavaScript, Ajaxformularios HTML y más
CakePHP- Estructura de carpetas
Ahora, en este tutorial del marco de CakePHP, aprenderemos sobre la estructura de carpetas de CakePHP.
A continuación se muestra una estructura de carpetas de CakePHP:
| carpeta | Mareas Ideales para Lecciones |
|---|---|
| Examenes | Esta carpeta contiene casos de prueba para su aplicación. |
| tmp | La carpeta tmp almacena datos temporales. |
| Proveedor | En esta carpeta se instalan CakePHP y otras dependencias de la aplicación. |
| Webroot | El directorio raíz web almacena todos los archivos que deseas que sean accesibles públicamente. |
| Compuertas | La carpeta bin contiene los ejecutables de la consola Cake. |
| Logs | Contiene tus archivos de registro, que dependen de tu configuración de registro. |
| Config | La carpeta config almacena los archivos de configuración que utiliza CakePHP. |
| Plugins | Aquí es donde se almacenan los complementos que utiliza su aplicación. |
| Src | Contiene el código de tu aplicación, como controladores, entidades y comportamientos. Locale almacena archivos de cadenas para la internacionalización, y Model contiene las tablas, entidades y comportamientos de tu aplicación. |
Configuración de CakePHP
CakePHP viene con un único archivo de configuración por defecto. También le permite modificarlo según sus requisitos. Hay una carpeta llamada "config" proporcionada para este propósito.
| Nombre de la variable | Mareas Ideales para Lecciones |
|---|---|
| Depurar | Le permite cambiar la salida de depuración de CakePHP. |
| Aplicación.espacio de nombres | Te ayuda a encontrar las clases de la aplicación. |
| App.baseUrl | Quite el comentario de esta palabra clave cuando no desee utilizar mod_rewrite de Apache con CakePHP. |
| codificación de aplicaciones | Te permite definir qué codificación utiliza tu aplicación. |
| base de aplicaciones | Es el directorio base donde reside la aplicación. Si es falso, se detectará automáticamente. |
| Aplicación.fullBaseUrl | Nombre de dominio completo. |
| Aplicación.webroot | Es el directorio raíz del sitio web. |
| Aplicación.wwwRoot | La ruta del archivo a la raíz web. |
| App.jsBaseUrl | Ruta al directorio público js. |
| Rutas de aplicación | Configure rutas para recursos no basados en clases. |
| Aplicación.cssBaseUrl | Es la ruta web al directorio CSS público dentro del directorio raíz del sitio web. |
| Seguridad.sal | Es una cadena aleatoria utilizada en hash. |
| Marca de tiempo del activo | Esta variable añade una marca de tiempo cuando se utilizan las funciones auxiliares adecuadas. |
Cake: convenciones de nomenclatura PHP
CakePHP se basa en la convención sobre la configuración. La convención de nomenclatura permite organizar el funcionamiento de la aplicación web. En este método, las palabras que contengan más de una palabra deben separarse con un guion bajo (_) al nombrar un archivo, y se debe usar la notación camel case al nombrar una clase.
Las partes del MVC deben seguir la sintaxis que se muestra a continuación:
| Nombre de archivo | Nombre de la clase | Nombre de clase base | Ubicacion | |
|---|---|---|---|---|
| Modelo | Forma singular del nombre de la tabla con extensión .php, por ejemplo: order.php | El nombre del archivo en formato camel case, por ejemplo: Order | modelo de aplicación | /aplicación/modelos |
| Control | nombre_tabla_controlador con extensión .php, por ejemplo: orders_controller.php | El nombre de la tabla con el sufijo Controller, por ejemplo: OrdersController | controlador de aplicaciones | /aplicación/controladores |
| Ver | El nombre de la acción en el controlador con extensión .ctp, por ejemplo: add.ctp | No hay clases; una vista contiene etiquetas HTML y PHP. | /app/views/controller nombre |
Configuración de bases de datos
CakePHP te permite configurar la base de datos en el config/aplicación.php archivo. Proporciona una conexión predeterminada con parámetros que puede modificar según sus preferencias.
Los parámetros importantes se detallan a continuación:
| Parámetro | Mareas Ideales para Lecciones |
|---|---|
| puerto (opcional) | El puerto TCP o socket Unix utilizado para conectarse al servidor. |
| Zona horaria | Zona horaria del servidor para configurar. |
| Esquema | Le ayuda a especificar qué esquema puede utilizar. |
| unix_socket | Utilizado por los controladores para conectarse a través de archivos de socket Unix. |
| clave_ssl | Es la ruta de acceso al archivo de clave SSL. |
| certificado_ssl | Es la ruta de acceso al archivo del certificado SSL. |
| ssl_ca | Es la ruta de archivo a la autoridad de certificación SSL. |
| Log | Este término le ayuda a realizar el registro de consultas. |
| En eso | Una lista de consultas que deben enviarse al servidor de la base de datos cada vez que se crea la conexión. |
| Identificadores de citas | Establezca este valor en verdadero si desea utilizar palabras reservadas o caracteres especiales. |
¿Cómo funciona MVC en CakePHP?
Ahora, en este tutorial sobre el framework CakePHP, aprenderemos cómo funciona el patrón MVC en CakePHP.
Es una forma dinámica de construir el mecanismo principal de una aplicación web. El modelo, la vista y el controlador están separados entre sí.

CakePHP divide las operaciones en tres partes:
- Modelos: se utilizan para todas las interacciones de bases de datos.
- Vistas: Se utiliza para todas las salidas y visualizaciones.
- Controladores: Se utilizan para controlar el flujo de la aplicación.
Estos son los pasos para usar la arquitectura MVC en CakePHP:
Paso 1) El cliente o usuario interactúa con la vista.
Paso 2) La vista alerta al controlador sobre el evento específico.
Paso 3) El controlador envía una solicitud a la base de datos del modelo y actualiza el modelo.
Paso 4) El modelo avisa a la vista de que ha cambiado.
Paso 5) La vista recibe los datos del modelo y se actualiza en función de los datos recibidos.
¿Por qué utilizar MVC?
- CakePHP MVC te ayuda a separar la lógica de negocio de la presentación y la recuperación de datos.
- Un sitio está dividido en secciones lógicas que puedes gobernar con un controlador específico.
- Al probar y depurar una aplicación, cualquier desarrollador puede localizar y corregir errores sin necesidad de tener todos los detalles del código.
Desventajas de usar el marco CakePHP
- La documentación de soporte de CakePHP no es tan completa como debería ser.
- Para usar CakePHP, el desarrollador necesita actualizar las rutas predeterminadas para crear rutas elegantes. URLs, lo cual implica más trabajo en comparación con otros frameworks de PHP.
- CakePHP utiliza enrutamiento unidireccional en comparación con otros frameworks.
- Aprendiendo PHP El marco de trabajo no siempre es fácil para los principiantes.
- El enrutamiento unidireccional es otra desventaja en comparación con frameworks como Ruby on Rails.
