Si ya utilizas CakePHP pero en su versión estable actualmente la 1.1.x.x sería bueno que vayas conociendo la próxima versión 1.2.x.x de este excelente framework para crear rapidamente aplicaciones web, esta nueva versión (actualmente se encuentra en estado alfa por lo que no es muy estable) trae muchas nuevas características, nuevos componentes, y muchísimos errores corregidos de la versión anterior, aquí te enseño algunos de estos cambios y nuevas características.
Características
Comportamientos, asociaciones With, validación mejorada, un nuevo helper para los formularios, soporte integrado para paginación, unidad de pruebas integrada y caché son algunas de las nuevas características. Pero uno de los factores que harán que CakePHP 1.2 sea difícil de aprender para los principiantes es la falta de documentación. La mayor parte de esta documentación se enfoca en la versión 1.1, otro inconveniente que veo es que algunas funciones han sido eliminadas de la nueva versión por lo que hay que tene mucho cuidado a la hora de migrar.
Estas son las características nuevas más destacables:
Validación
Una de las áreas donde CakePHP 1.2 ha mejorado realmente es el soporte integrado para validación de formularios. En la versión 1.1 había solamente 4 reglas: VALID_NOT_EMPTY, VALID_NUMBER, VALID_EMAIL y VALID_YEAR. El resto lo tenías que escribir tú. En 1.2 Existen más reglas para validación: alfanumérica, email, máximo de caracteres, url y teléfono son solamente algunas. Para comprender más esto te recomiendo visitar los siguientes enlaces (en inglés):
- Validación con CakePHP 1.2 por Cakebaker.
- Todo acerca de la validación en CakePHP 1.2 parte 1 por otro Cake Baker.
- Todo acerca de la validación en CakePHP 1.2 – Parte 2 por otro Cake Baker
- Validación Gotcha en CakePHP 1.2 por otro Cake Baker
- Múltiples reglas de validación para un campo en CakePHP 1.2 por Mariano Iglesias
Almacenamiento en memoria inmediata (Caching)
Algo muy importante para las aplicaciones escritas con CakePHP y que tienen mucho tráfico es: caché. Un apropiado caché de datos puede mejorar el rendimiento de tu aplicación de manera dramática. CakePHP 1.2 viene con un muy buen sistema de caché. soporta 5 tipos de caché:
El motor de caché utilizado por default es el de archivo este utiliza archivos para almacenar los datos. Lo mejor es que puedes cambiar el motor de caché sin cambiar el código de tu aplicación. También puedes usar el más de un motor de caché para la misma interfaz. Además de que puedes combinar los motores puedes escribir tu propio motor. Para aprender más sobre el caché en visita los siguientes links (en inglés):
- El caché de CakePHP 1.2 por Jiri Kupiainen
- Optimizando tus elemento y vistas con el caché de CakePHP por Tane Piper
- Cache individual para elemento por Ketan
Consola
Si has utilizado el script bake.php desde la consola en la versión 1.1, te vas a sorprender con lo nuevo en CakePHP1.2. Basicamente lo que hace el script bake.php es crear de manera fácil la estructura de archivos de los modelos, controladores y vistas (a esto normalmente se le conoce cómo baking). La nueva consola lleva esto al siguiente nivel permitiéndote no sólo hacer bake(auto-generar código) sino para automatizar diferentes tareas. Puedes leer más acerca de esto en estos enlaces:
- Comenzando con la consola de CakePHP en Windows. esto es un screencast del sitio de CakePHP.
- Comenzando con la consola de CakePHP en sistemas Linux, Mac y basados en Unix, se trata de otro screencast
- Baking más rápido con el script bake por Cakebaker
- Un baking más rápido de controladores con el script shell de bake por Cakebaker
- Baking de las Vistas por Cakebaker
Suite de prueba
La unidad de pruebas es algo que se ha convertido vital para desarrollar aplicaciones libres de fallas (bugs). CakePHP 1.2 ha integrado algo llamado CakePHP test suite quu usa el SimpleTest. Puede encontrar un ejemplo de cómo utilizarlo en este artículo de la bakery: Testing Models with CakePHP 1.2 escrito por Mariano Iglesias.
La asociación With
La relación ‘hasandbelongstomany’ ha sido uno de los aspectos más confusos de las relaciones entre modelos en CakePHP, pero ya no lo será más, la asociación with ha llegado para hacernos la vida más fácil. ¿Pero qué es esto? No es más que una forma fácil de asociar tablas. Con la etiqueta with, puedes acceder directamente a la asociación de tablas sin molestias. Algunos detalles de esto son discutidos por Chris’ Brain en el artículo A Glimpse Inside CakePHP 1.2.
RSS Feeds
hacer RSS Feeds para tu aplicación no puede ser más fácil lo explican todo en Super-faciles RSS feeds con CakePHP 1.2 y ¿qué tan fáciles son los servicios web con CakePHP 1.2? ¡Realmente fáciles!.
Paginación
En CakePHP 1.1 la paginación no estaba presente en el core. Con la versión 1.2, la paginación es parte de CakePHP Rob Conner lo explica en un vistazo a la paginación básica (1.2), paginación avanzada (1.2) y paginación, etc.
Autentificación y ACL
Autentificación y las listas de control de acceso (Access Control List) son explicadas en los siguientes artículos de la bakery:
- Formulario simple de autentificación en 1.2.x.x por Sean Callan
- Cómo utilizar ACL con Cake PHP 1.2.x por Ketan
El componente email
CakePHP 1.2 tiene un nuevo componente, para entenderlo te recomiendo leer el siguiente artículo en inglés: pequeña descripción del nuevo EmailComponent por GreyCells
Helpers
Ahora con los helpers. Hay un nuevo helper llamado FormHelper que sirve para los formularios. Ahora también, la notación del punto puede ser usada (Modelo.campo en lugar de Modelo/campo). Los siguientes enlaces te muestran cómo usar diferentes helpers en CakePHP 1.2
- El Helper Html por Jeff Keith
- El Helper Form
- El objeto JSON en el Helper de Javascript por Eelco Wiersma
- Construcción de formularios: More Auto-Magic Than You Can Handle? por Nate
El manual de CakePHP 1.2
No está finalizado un manual oficial todavía, estuvo unos días disponible para todos los usuarios aquí pero ahora se accede sólo con contraseña. La gente de CakePHP está trabajando para tenerlo listo pronto. Pero si quieres darle un vistazo al avance puedes hacerlo aquí, si quieres descargar el manual de cakePHP 1.2, aún incompleto, alguien lo ha subido a rapidshare y te dejo el enlace: http://rapidshare.com/files/62647435/Manual_1.2.zip.html
Más información en CakePHP 1.2: The Romance Continues … y what\’s new in CakePHP 1.2 y Which Cake should you eat? (en inglés)