Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

MVC: Responsabilidades

Estas en el tema de MVC: Responsabilidades en el foro de Frameworks y PHP orientado a objetos en Foros del Web. A quien le corresponde pedirle información al modelo, cuando se trata por ejemplo de mostrar muchos mensajes (muchas filas de una tabla de la BD), ...
  #1 (permalink)  
Antiguo 18/10/2009, 14:51
 
Fecha de Ingreso: mayo-2009
Mensajes: 210
Antigüedad: 15 años
Puntos: 0
MVC: Responsabilidades

A quien le corresponde pedirle información al modelo, cuando se trata por ejemplo de mostrar muchos mensajes (muchas filas de una tabla de la BD), donde cada mensaje deberá tener sus propios tags de html?? Al controlador o al view??
No me parecia correcto andar llamando al modelo desde el view, pero tampoco me parecia correcto ponerle los tags de html a los mensajes desde el controlador, para luego mandarle todo ya hecho al view.
Que opinan?
  #2 (permalink)  
Antiguo 18/10/2009, 15:37
 
Fecha de Ingreso: noviembre-2007
Ubicación: Lanus, Buenos Aires
Mensajes: 178
Antigüedad: 16 años, 5 meses
Puntos: 14
Respuesta: MVC: Responsabilidades

opcion 1:

Código PHP:
//en el controlador
$this->view->mensajes $modeloMensajes->getMensajes();

// en la vista
foreach ($this->mensajes as $mensaje)... 

a mi personalmente me gusta mas esta otra, ya que las vistas pueden pedir datos a los modelos (no pueden modificarlos) y no me gusta mucho usar el controlador para comunicar a las vistas con los modelos y nada mas

opcion 2:

Código PHP:
// en la vista
foreach ($modeloMensajes->getMensajes() as $mensaje)... 

o mucho mejor aun en ciertos casos (dependiendo de la complejidad de la informacion a mostrar), un view helper

opcion 3;

Código PHP:
echo $this->getHtmlMensajes$modeloMensajes->getMensajes() ); 

eso opino :P
  #3 (permalink)  
Antiguo 18/10/2009, 18:37
Avatar de pablofmorales  
Fecha de Ingreso: abril-2008
Ubicación: Buenos Aires, Argentina, Argentina
Mensajes: 222
Antigüedad: 16 años, 1 mes
Puntos: 37
Respuesta: MVC: Responsabilidades

Desde el view podes pedirle al modelo. Generalmente se hace a traves del helper.

Aunque lo ideal es que el controller le pida al modelo y el controller se lo pase a la vista
__________________
blog
  #4 (permalink)  
Antiguo 18/10/2009, 19:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: MVC: Responsabilidades

El patrón MVC lo tiene bien claro, es la capa de la vista la que tiene que hacer el proceso de pedir datos (y actualizarlos en caso de ser necesario).

El Controlador es simplemente la parte que se encarga de procesar el input y reaccionar de acuerdo al evento (por ejemplo click de un botón).

El problema es que luego muchos se confunden con las capas, por ejemplo en ZF, el Zend_Controller_Action ya es parte de la capa de la vista, lo que pasa es que Zend usa Zend_View para separar lo que es la parte del código de la vista, esto es una práctica que todos deberían hacer aún si no usan MVC, es separar la parte del proceso de lo que es la vista para mejorar el mantenimiento de la aplicación.

En Zend como comento el frontController es la capa del Controller, Zend_Controller_Action es parte de la Vista y el modelo ya es la otra capa que puede ser un DbTable o algún otro objeto de negocio como un XML, etc.

Saludos.
  #5 (permalink)  
Antiguo 18/10/2009, 20:04
 
Fecha de Ingreso: mayo-2009
Mensajes: 210
Antigüedad: 15 años
Puntos: 0
Respuesta: MVC: Responsabilidades

ok gracias a todos

entonces imagino que en este caso (mostrar mensajes tipo blog), el controlador solamente le pasa al view el id del artículo, no? Y que el view se encargue de hacer la consulta y procesar usando un helper. Tengo que ver como se crea el helper.

Saludos

pd: al final estoy usando codeIgniter, perdon por no aclarar. El ZF era mucho para mi que aun no se mucho de MVC ni de nada, y aprender a usar esos templates (ese "lenguaje" propio del framework) me iba a resultar un lio. Queda para luego.
  #6 (permalink)  
Antiguo 18/10/2009, 21:25
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: MVC: Responsabilidades

cual lenguajes propio del framework? usa PHP para el motor de plantillas... el único que se que usa otro lenguaje es Smarty...

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:42.