jueves, 5 de julio de 2012

Elementos de CakePHP

 

Ademas de incluir Controladores, Modelos y Vistas como lo dicta el patron de diseño MVC, posee otros elmentos como Componentes[Components] , Comportamientos[Behaviors] y Ayudantes[Helpers] extensiones respectivas de los elementos MVC que ayudan enormemente en el desarrollo de aplicacion asi como tambien proporcionando caracteristicas de extensibilidad y reusabilidad.


Componentes

Es una clase que ayuda a la lógica de un controlador. Si tienes alguna lógica y la quieres compartir entre varios controladores (o aplicaciones), un componente suele ser una buena elección.
A modo de ejemplo, la clase del núcleo EmailComponent hace que la creación y el envío de mensajes de correo electrónico sea tan sencillo como coser y cantar. En lugar de escribir lógica en el método de un controlador, puedes empaquetarla en un componente para poder compartirla.

Los Controladores también están equipados con callbacks. Puedes utilizar estos callbacks si necesitas insertar alguna lógica en las operaciones del núcleo de CakePHP. Los Callbacks disponibles incluyen:

  • beforeFilter(), se ejecuta antes que cualquier otra acción del controlador
  • beforeRender(), se ejecuta después de la lógica del controlador, pero antes de que la vista se renderice
  • afterFilter(), se ejecuta después de toda la lógica del controlador, incluido el renderizado de la vista. Puede que no haya ninguna diferencia entre afterRender() y afterFilter(), a menos que hayas llamado manualmente a render() en el controlador y hayas incluido alguna lógica después de esa llamada.

Comportamientos

Del mismo modo, los Comportamientos son formas de añadir funcionalidad común entre los modelos. Por ejemplo, si almacena datos de los usuarios en una estructura de árbol, puede especificar que su modelo de usuario se comporte como un árbol, y obtener libre funcionalidad para eliminar, añadir, y mover nodos en la estructura de árbol subyacente.
Los modelos también cuentan con el apoyo de otra clase llamada DataSource (Origen de datos). Los DataSources son una abstracción que permite a los modelos manipular diferentes tipos de datos en forma consistente. Si bien la principal fuente de datos en una aplicación CakePHP es a menudo una base de datos, puede escribir DataSources adicionales que le permitan a sus modelos representar canales RSS, archivos CSV, entradas LDAP, o eventos iCal.
Los DataSources le permiten asociar registros de diferentes fuentes: en lugar de limitarse sólo a uniones [joins] SQL, los DataSources le permiten decirle a su modelo LDAP que está asociado a muchos eventos iCal.

Así como los controladores, los modelos también incluyen callbacks:
  • beforeFind()
  • afterFind()
  • beforeValidate()
  • beforeSave()
  • afterSave()
  • beforeDelete()
  • afterDelete()


Ayudantes

Un ayudante es una clase que ayuda a la lógica de una vista. Del mismo modo que varios controladores utilizan un componente, los ayudantes hacen que varias vistas accedan y compartan lógica presentacional. Con uno de los ayudantes del núcleo, el AjaxHelper, el manejo de las peticiones Ajax en las vistas es mucho más fácil.
La mayoría de las aplicaciones repiten piezas de código en sus vistas. CakePHP facilita la reutilización de este código con diseños [layouts] y elementos [elements]. Por defecto, toda vista renderizada por un controlador se coloca en un diseño [layout]; los elementos entran en juego cuando hay que reutilizar estos fragmentos pequeños de contenido.

No hay comentarios:

Publicar un comentario