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.

CakePHP logo

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):

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é:

  1. De archivo
  2. APC
  3. Memcache
  4. Xcache
  5. Modelo

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):

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:

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:

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 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)