Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/02/2013, 22:52
makena_mendoza
 
Fecha de Ingreso: abril-2011
Mensajes: 18
Antigüedad: 13 años
Puntos: 2
Pregunta Problema aplicando MCV con PHP

Tengo bastante claro como funcionar con OOP en php y como funciona el sistema MCV.

Lo que no tengo claro es muy bien como aplicar en php en algunos casos la relación VISTA-CONTROLADOR.

Lo que necesito que me contestéis es si es posible hacer esto solo con php o si es necesario algo mas.



La parte de gestión de la VISTA es la que no tengo muy clara. De hecho no se si mi planteamiento es el correcto. En el esquema dentro de VISTA he puesto el flujo de como unos script se cargan dentro de otros. Aclaro que datosUsuario.php se cargara si se pulsa sobre un usuario y datosEmpresa.php se cargara si se pulsa sobre una empresa.

plantilla.php -> es la plantilla común para todas las paginas de la web

Ahora, para por ejemplo cargar en centro los datos de la empresa tengo el problema. Tal y como yo lo veo:

InterfazUsuario->Controlador : envía acción de cargar datos de la empresa

Controlador<->Modelo : obtengo datos de la empresa y listado de usuarios

Controlador<-listadoUsarios.php : compongo la vista del listado usuarios
Controlador<-datosEmpresa.php : compongo vista de datos empresa junto con vista listado usuarios
Controlador<-plantilla.php : compongo la pagina con todos los elementos (además de menú y encabezado)

Controlador->InterfazUsuario : muestro el resultado


PROBLEMA.

No quiero ver nada de html en el codigo php. Para eso tendría que poder desde el Controlador poder cargar el script listadoUsuarios.php y procesarlo, para despues cargar el script de datosEmpresa.php y procesarlo añadiendo en una zona determinada del layout el listado de usuarios previamente procesado. Así seguiría sucesivamente hasta llegar a procesar plantilla.php.

El problema que se me plantea es que no puedo seguir esta cadena de procesos ya que no puedo cargar o no se cargar un script php, procesar su contenido para luego ese contenido asignarlo a una parte determinada de otro script.

He probado a cargar el archivo con fopen y file_get_contents incluso combinándolo con el control del buffer de salida y no hay manera porque sencillamente cuando meto en una variable el contenido del archivo php no lo procesa, simplemente lo imprime tal cual en la interfaz.

La otra opción es hacer includes de unos archivos dentro de otros pero de ese modo el controlador pierde el control del flujo de procesos.

Estoy muy perdido porque se que algo y sospecho que no pequeño se me está escapando. Trabajo con Magento pero sin llegar a entender aun como funcionan todas sus tripas, aun me queda mucho por aprender. Y veo la cantidad de archivos que utiliza para componer las páginas, y no se si hay algo que desconozco de php para hacer esto que os he contado, o que sencillamente hace falta algún otro lenguaje mas de programación.

Espero que entendais mi planteamiento y si no os lo cuento de algún otro modo. Si la respuesta no es sencilla, que lo sospecho, os agradecería que me orientarais sobre que tipo de información debo buscar para resolver este galimatías, para mi claro :)