Esquema de una peticion en CakePHP y funcionamiento general del Framework

Me he encontrando en la web oficial de CakePHP este genial esquema que representa una petición estandar en el sistema de este Framework y el funcionamiento interno.

Haz click en la imagen para verla a tamaño completo.

Los elementos sombreados en negro son obligatarios, los que estan sombreados en gris son opcionales.
Los azules son callbacks.

Esto viene muy bien explicado en el ejemplo original, pero lo voy a traducir al español manteniendo el sentido original.

  • Ricardo visita el link http://www.example.com/cakes/buy, y su navegador hace una petición al servidor web.
  • El Enrutador de CakePHP (routes.php) parsea la url y extrae los parámetros de esta petición, el controlador, la acción y cualquier otro argumento que afecte a la capa de negocio durante la petición.
  • Usando los enrutadores, la petición de una url es mapeada o dirigida a una determinada acción del controlador. En este caso el método buy() del controlador: CakesController. El callback beforeFilter() del controlador es llamado antes que cualquier acción del controlador sea ejecutada.
  • El controlador debe ser posible usar su modelo para conseguir acceso a los datos de la aplicación. En este ejemplo, el controlador usa un modelo para obtener las últimas compras de Ricardo almacenadas en la base de datos. Cualquier callback, behaviors y DataSources que se puede aplicar al Modelo debe ser aplicado durante esta operación. Si bien el uso del modelo no es necesario, todos los controladores de CakePHP inicialmente requieren al menos un modelo.
  • Después de que el modelo haya recuperado los datos, éstos son devueltos al controlador.
  • El controlador pude usar components para seguir refinando y obteniendo los datos o realizar otras operaciones como por ejemplo la manipulación de las sessiones, autenticaciones o enviar emails..
  • Una vez que el controlador ha usado el modelo y los componentes para preparar los datos, éstos son recogidos por el metodo set() del controlador. Se pueden aplicar callbacks antes de que los datos sean enviados. La lógica de la vista es llevada a cabo, y en la que se puede incluir el uso de elements y/o helpers. Por defecto, la vista es renderizada dentro del layout.
  • Adicionalmente se puede aplicar el callbak afterFilter(). Para finalizar, estará renderizado y listo el código de la vista en el navegador de Ricardo.

Fuente: http://book.cakephp.org/view/21/A-Typical-CakePHP-Request

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *