Foros del Web » Programando para Internet » PHP »

patron mvc

Estas en el tema de patron mvc en el foro de PHP en Foros del Web. Que tal!!!!!!!!!! tengo dudas en cuanto a las vistas y lo controladores. Por ejemplo el siguiente controlador es valido dentro de este patron ??????? Código ...
  #1 (permalink)  
Antiguo 19/03/2009, 10:00
Avatar de juamd  
Fecha de Ingreso: marzo-2009
Ubicación: Bogotá
Mensajes: 285
Antigüedad: 15 años, 1 mes
Puntos: 8
patron mvc

Que tal!!!!!!!!!!

tengo dudas en cuanto a las vistas y lo controladores. Por ejemplo el siguiente controlador es valido dentro de este patron ???????

Código PHP:
<?php
    session_start
();
    require_once 
"../Modelo/Solicitud.class.php";
    
    if (
$_SESSION['nombre_usuario'] != "")
    {
        
$usuario $_SESSION['usuario'];
        
$fecha $_GET['fecha'];
        
$hora_inicial $_GET['hora_inicial'];
        
        
$solicitud = new Solicitud();
        
$title="Modificar solicitud";
        include 
"../Datos_Fijos/encabezado.php";
        include 
"../Datos_Fijos/opciones.php"
            include (
"../Datos_Fijos/datos_usuario.php");
                include 
"../Vistas/opciones_usuario.php";
                
$datos_solicitud=$solicitud->obtener_solicitudes($usuario,$fecha,$hora_inicial);
                foreach(
$datos_solicitud as $dato){
                    
$proceso=$dato[Solic_Proc];
                    
$solicitante=$dato[Solic_Solicita];
                    
$fecha=$dato[Solic_Fecha];
                    
$hora_inicial=$dato[Solic_Hor_Ini];
                    
$hora_final=$dato[Solic_Hor_Fin];
                    
$tipo_reunion=$dato[Solic_Tipo];
                    
$cantidad_personas=$dato[Solic_Num_Per];
                    
$equipos=$dato[Solic_Equip_Req];
                    
$responsable=$dato[Solic_Resp];
                }
                include 
"../Vistas/formulario_modificar.php";
            include (
"../Datos_Fijos/correo_pie.php");     
    }else{
        include
"index.html";
        echo 
"<h5 align=center>Es necesario iniciar sesion para tener acceso al sistema</h5>";
    }
?>
saludos
  #2 (permalink)  
Antiguo 19/03/2009, 10:03
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: patron mvc

Tu codigo hace lo que realmente debe de hacer un controlador.

Cual es el problema o la consulta ?
  #3 (permalink)  
Antiguo 19/03/2009, 10:11
Avatar de juamd  
Fecha de Ingreso: marzo-2009
Ubicación: Bogotá
Mensajes: 285
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: patron mvc

pues a ver...

estoy desarrollando mi primera aplicacion usando este patron y las dudas se me generan mas que todo con la vista, tal vez porque lo estoy mirando desde un punto de vista estricto, el caso es que me pregunto si puede una vista tener codigo que haga comprobaciones ?
por decir algo: tengo un formulario que incluyo para mostrar unos datos, pero un campo del formulario depende de los permisos que este tiene, entonces no se justifica hacer dos vistas diferentes y por el contrario en la propia vista pregunto que tipo de usuario es y con base en la respuesta muestro o no el campo. Esta comprobacion no va en contra del patron ?

saludos
  #4 (permalink)  
Antiguo 19/03/2009, 10:12
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: patron mvc

Yo lo único mal que veo es en tu foreach() asignas los datos de $dato a unas variables pero nunca haces nada con esas variables.

Saludos.
  #5 (permalink)  
Antiguo 19/03/2009, 10:19
Avatar de juamd  
Fecha de Ingreso: marzo-2009
Ubicación: Bogotá
Mensajes: 285
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: patron mvc

Ahi se genera otra pregunta:

tengo los datos en unas variables y luego deseo mostrarlos para lo cual hago :

Código PHP:
 include "../Vistas/formulario_modificar.php"
y es en este formulario donde recibo las variables y las muestro.

Yo deseo pasar los datos del controlador a la vista (formulario_modificar.php), incluir la vista para mostrar los datos generados por el controlador no es la manera correcta de pasarle datos a la vista ?

saludos
  #6 (permalink)  
Antiguo 19/03/2009, 10:23
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: patron mvc

Bueno tu pudieras comprobar en tu controlador el permiso , luego le envias la confirmacion
ala vista

y la vista comprueba esa configurmacion , al menos que seas tan estricto que crees algun codigo externo que lo haga por la vista.

la vista puede tener codigo if , while , etc
lo que la vista no puede es delegar funciones .
  #7 (permalink)  
Antiguo 19/03/2009, 10:24
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: patron mvc

pasate lo datos ala vista por medio de una matrix

ejemplo

$Array=array("nombre"=>"Jose");

luego la captura en la vista con el foreach()
  #8 (permalink)  
Antiguo 19/03/2009, 10:49
Avatar de juamd  
Fecha de Ingreso: marzo-2009
Ubicación: Bogotá
Mensajes: 285
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: patron mvc

y en el caso de tener un controlador que lo unico que hacer es incluir vistas ? este sigue siendo un controlador o pasa a ser una vista ?

por ejemplo:
Código PHP:
<?php
    session_start
();
    if (
$_SESSION['nombre_usuario'] != "")
    {
        
$title="Solicitudes";
        include 
"../Datos_Fijos/encabezado.php";
        include 
"../Datos_Fijos/opciones.php";         
            include 
"../Datos_Fijos/datos_usuario.php";
                include 
"../Vistas/opciones_admin.php";
                include 
"mostrar_solicitudes.php";
            include 
"../Datos_Fijos/correo_pie.php"
    }else{
        include 
"index.html";
        echo 
"<h5 align=center>Es necesario iniciar sesion para tener acceso al sistema</h5>";
    }

?>
Debido a las modificaciones que he realizado en aras de separar la vista de los controladores me han resultado tres script similares al expuesto, y pienso dejarlos como vistas puesto que no hacen mas que incluir vistas, pero esto es correcto ?

saludos
  #9 (permalink)  
Antiguo 19/03/2009, 10:57
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: patron mvc

Bueno para que tengas una idea

La vista solo debe de contener codigo html y algunos variables procesadas php

O sea esto no seria valido

Vista:
include("header.php");

include("body.php");

include("pies.php");

Como te comente , la vista no delega funciones de ese tipo .


por otro lado

el asunto de controlador es el siguiente.
si tengo un modulo de mantenimiento , lo ideal es que tenga un controlador , un modelo
y puedo tener varias vista.

se hace muy incomodo tener varios controladores ,varios modelo , varias vista en un mismo modulo .
  #10 (permalink)  
Antiguo 19/03/2009, 11:01
Avatar de juamd  
Fecha de Ingreso: marzo-2009
Ubicación: Bogotá
Mensajes: 285
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: patron mvc

Gracias por la respuesta, voy a trabajar en eso
saludos
  #11 (permalink)  
Antiguo 19/03/2009, 11:03
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: patron mvc

Oye te puedo recomendar que leeas un poco la documentacion
del Framework CodeIgniter

la parte de como el maneja las vista , controladores, modulos
  #12 (permalink)  
Antiguo 19/03/2009, 11:17
Avatar de juamd  
Fecha de Ingreso: marzo-2009
Ubicación: Bogotá
Mensajes: 285
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: patron mvc

voy a seguir tu recomendacion

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 15:16.