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

Usar $this en la vista?

Estas en el tema de Usar $this en la vista? en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola buenas, Tengo una duda. Quisiera saber si es correcto usar $this en la vista, es decir, sin acceder directamente a las propiedades del controlador, ...
  #1 (permalink)  
Antiguo 25/02/2012, 06:49
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 8 meses
Puntos: 165
Usar $this en la vista?

Hola buenas,

Tengo una duda.

Quisiera saber si es correcto usar $this en la vista, es decir, sin acceder directamente a las propiedades del controlador, en lugar de pasarle los datos a la vista. ( sería para atributos que siempre se usen ), también me surge la duda de si esto esta bien o es un error que una vista pueda trabajar con los atributos del controlador.

Un saludo!
__________________
Gracias por el Karma :D

empleo ofertas de trabajo
  #2 (permalink)  
Antiguo 25/02/2012, 09:51
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Usar $this en la vista?

son dos cosas distintas las vistas y los controladores, en mi opinión creo que sería un error de diseño de la aplicación, el controlador carga la vista y le pasa todo lo que esta necesite es lo que en teoría es correcto, según he leído, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 25/02/2012, 11:34
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 8 meses
Puntos: 165
Respuesta: Usar $this en la vista?

Si,

En eso estoy de acuerdo, pero.. en realidad, tu cargas la vista dentro del controlador, estas dentro del controlador.. por lo tanto tienes acceso a estas, cierto? esto es un error de la implementación del patrón MVC? estoy un poco confuso

Un saludo!
__________________
Gracias por el Karma :D

empleo ofertas de trabajo
  #4 (permalink)  
Antiguo 25/02/2012, 14:13
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Usar $this en la vista?

tener objetos dentro de objetos no es incorrecto, de hecho es muy común, y ese es el hecho del controlador controlar que se carga, tu nunca accedes a una vista directamente, siempre pasas por un controlador que carga la vista necesaria
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #5 (permalink)  
Antiguo 25/02/2012, 14:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Usar $this en la vista?

Recuerda que MVC es un patrón de diseño, no hay una regla de como debe de implementarse, así que cada FW hace una implementación como mejor le parece para el diseño de su FW, en lo particular el mejor diseño que he visto es el de ZF2.0 ya que ofrece una completa separación de lo que es el controller, con lo que es la vista.

El controller solamente regresa un array de datos, y el dispatcher es el que se encarga de levantar la vista con los datos e inyectar el layout.

Lo correcto es eso, que el controller simplemente consulte el modelo y regrese datos para la vista (inclusive el mismo modelo) para que sea procesado, si lees el patrón MVC es lo correcto, las flechas indican que la vista interactua con el modelo y el controller solamente decide que sección o vista levantar.

Saludos.
  #6 (permalink)  
Antiguo 25/02/2012, 17:43
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 8 meses
Puntos: 165
Respuesta: Usar $this en la vista?

Hola buenas,

Muchas gracias Gaytor por la explicacion, por eso planteaba la duda, porque segun el concepto que siempre he visto, en el patron MVC, el controlador es siempre quien se encarga de pasarle los datos a la vista, pero, me di cuenta de que la vista estaba en "contacto" directo con el controlador.. Ahora me queda claro que el FW implementa el patron a su manera,

Un saludo!
__________________
Gracias por el Karma :D

empleo ofertas de trabajo

Etiquetas: usar
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

SíEste tema le ha gustado a 1 personas




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