Ver Mensaje Individual
  #67 (permalink)  
Antiguo 19/04/2009, 21:15
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Programacion a 3 capas PHP

Yo creo que hay que pensar en una separación mas a nivel como comentaba enriqueplace, la capa de persistencia (o datos), debe de ser una capa de abstracción entre tu fuente de persistencia (ya sea una base de datos aunque no es siempre así) y tu controlador.

Lo que buscas mas a nivel de lógica es el paradigma de Active Table que te permite mapear un objeto a una tabla en la base de datos, pero como te comento esto debe de estar en una capa más abajo de tu capa de persistencia, la capa de persistencia es la encargada de comunicarse con esta capa para guardar / leer / actualizar los datos en la BDD.

Otra cosa que luego pasamos mucho de largo es que las plantillas (ya sea Smarty, PHP Template, etc.) NO es la capa de vista, ya que en un MVC la capa de vista es la encarga de comunicarse con el modelo (capa de persistencia).

Te recomendaría que vieras un poco la forma de implementación de Zend Framework tiene muy bien solucionado el implementar MVC en PHP separando perfectamente el Controlador (FrontController) de la capa de Datos, y la capa de Vista (Zend Controller Action + Zend View). Muchas veces nos confundimos en que la capa de vista (el template) es el encargado de obtener los datos y empezamos a complicar las cosas.

La capa de la vista (la acción) obtiene los datos y los procesa e imprime, en esta capa lo más recomendable es separar en dos la parte de PHP y la parte de presentación usando un motor de plantillas.

Espero con esto darte una idea un poco más concreta para que puedas hacer tu proyecto.

Saludos.