Ver Mensaje Individual
  #13 (permalink)  
Antiguo 08/09/2010, 20:10
titandj
 
Fecha de Ingreso: septiembre-2010
Mensajes: 3
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: ayuda con mvc y php

Hola!

Entiendo tu duda, y apoyo lo que dicen los expertos del foro sobre el uso de un framework, sin embargo se por experiencia propia que aprendiendo desde la abstracción de un framework resulta algo enredado entender los conceptos básicos (entendemos que hace pero no cómo lo hace, simple concepto de abstracción), para aclararte el asunto te dejo un pequeño ejemplo de uno de mis primeros desarrollos propios usando MVC en PHP.

Tenemos un index que será la página principal del sitio y dependiendo de un parámetro que reciba por GET mostrará diferentes contenidos:

Código PHP:
<?php
//Código para manejar la sesión 

#leo la variable get si existe
if(isset($_GET['pag']))
    
$pag $_GET['pag'];
else
    
$pag 0;

switch(
$pag)
    {
    case 
0:    # Principal
            
include('controlador/principalControl.php');
            
//etc
    
break;
    
    case 
1:    # maquinaria
            
include('controlador/maquinariaControl.php');
            
//etc
    
break;
    
    case 
2# quienes somos
            
include('controlador/quienesSomosControl.php');
            
//etc
    
break;
    
    case 
3# distribuidores
            
include('controlador/distribuidoresControl.php');
            
//etc

    
break;
    
    case 
4# contactenos
            
include('controlador/contactenosControl.php');
            
//etc
    
break;
    
    case 
5# repuestos
            
include('controlador/repuestosControl.php');
            
//etc

    
case 6:    # maquinaria en el exterior
            
include('controlador/maquinariaExtControl.php');
            
//etc
    
break;

    }
Omití ciertos códigos para hacer la explicación mas simplista, por ejemplo podrias manejar la sesión, pasarle parámetros a los controladores etc.

En general, dependiendo del parámetro obtenido por GET, se llamará a un controlador específico, en términos generales debería existir un controlador por página.

Un controlador contendría lo siguiente:

Código PHP:
<?php

function listadoMaquinaria($obj null)
{
// métodos del negocio

//se puede llamar a un modelo:
include'modelo/Maquinaria_DAL.php';

//y usar las funciones que nos provea:
$listado obtenerListadoMaquinaria();

//Ahora podemos llamar a la vista correspondiente
//bien sea usando un manejador de plantillas o de forma manual
//en este ejemplo usé una clase llamada Plantilla

$listado = new Plantilla("listarMaquinaria");
$listado->asigna_variables(array(
        
"listado" => $contenido
        
));
$listado->muestra(); //realizar un echo de la plantilla
}
El contenido del modelo son simplemente funciones o clases si usas POO con llamadas a la base de datos, donde puedes definir objetos (se podría usar el patrón Active Record para trabajar con los registros).

Espero haberte aclarado la duda.