Tema: MVC en php
Ver Mensaje Individual
  #3 (permalink)  
Antiguo 16/04/2009, 11:45
adg
 
Fecha de Ingreso: enero-2009
Mensajes: 60
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: MVC en php

gracias por tu aporte, realmente ahora veo que aplicando MVC para aplicaciones web es bastante diferente en algun sentido con las aplicaciones de escritorio.

eso de 'bootstrap' que me comentaste es algo nuevo para mi que voy a tener que seguir investigando..
realmente lo que escribiste me sirve en la forma de pensarlo, ya que en principio quiero desarrollarlo sin objetos, por lo menos hasta que lo entienda bien el manejo de MVC en php

Cita:
Pero quién elige el controlador?
yo pensaba que lo elegía la vista (en donde se generan los eventos de usuarios) a la cual pertenece a un cierto controlador...pero con lo que decis veo que estaba equivocado..

te muestro un ejemplo que encontre
Cita:
//index.php
< ?php
//Primero algunas variables de configuracion
require 'conexion.php';

//La carpeta donde buscaremos los controladores
$carpetaControladores = "controladores/";

//Si no se indica un controlador, este es el controlador que se usará
$controladorPredefinido = "items";

//Si no se indica una accion, esta accion es la que se usará
$accionPredefinida = "listar";

if(! empty($_GET['controlador']))
$controlador = $_GET['controlador'];
else
$controlador = $controladorPredefinido;

if(! empty($_GET['accion']))
$accion = $_GET['accion'];
else
$accion = $accionPredefinida;

//Ya tenemos el controlador y la accion

//Formamos el nombre del fichero que contiene nuestro controlador
$controlador = $carpetaControladores . $controlador . 'Controlador.php';

//Incluimos el controlador o detenemos todo si no existe
if(is_file($controlador))
require_once $controlador;
else
die('El controlador no existe - 404 not found');

//Llamamos la accion o detenemos todo si no existe
if(is_callable($accion))
$accion();
else
die('La accion no existe - 404 not found');
?>
Cita:
//ItemsControlador.php
<?
function listar()
{
//Incluye el modelo que corresponde
require 'modelos/itemsModelo.php';

//Le pide al modelo todos los items
$items = buscarTodosLosItems($db);

//Pasa a la vista toda la información que se desea representar
require 'vistas/listar.php';
}

function agregar()
{
echo 'Aqui incluiremos nuestro formulario para insertar items';

require 'modelos/itemsModelo.php';

if($_POST)
{
insertar();
}

require 'vistas/agregar.php';
}
?>
este es un ejemplo que encontre con la misma forma que me decis pero sin objetoss...trabajar MVC de esta forma (como en este codigo) es apropiado??

todavia no me quiero meter con el temita de los frameworks en php sino que quiero aprender sin ellos por ahora.

tambien quiero llegar a hacerlo en objetos pero cuando aprenda a hacerlo sin ellos...
acepto todo tipo de sugerencias...