Foros del Web » Programando para Internet » PHP »

diferencias entre modelo y controlador en MVC( modelo vista controlador)

Estas en el tema de diferencias entre modelo y controlador en MVC( modelo vista controlador) en el foro de PHP en Foros del Web. Hola a todos, me gustaria que me explicarais que hace exactamente el modelo y que hace el controlador en MVC, por lo que he entendido ...
  #1 (permalink)  
Antiguo 28/01/2011, 06:39
 
Fecha de Ingreso: agosto-2010
Mensajes: 40
Antigüedad: 13 años, 10 meses
Puntos: 2
diferencias entre modelo y controlador en MVC( modelo vista controlador)

Hola a todos, me gustaria que me explicarais que hace exactamente el modelo y que hace el controlador en MVC, por lo que he entendido hasta ahora:

modelo= gestiona los datos de la base de datos (inserta datos, selecciona, modifica...)

controlador=gestiona las peticiones de usuario y ejecuta modelos y vistas

pero mi duda es ¿y todos los procesos que no tienen que ver con la base de datos ni con el control de peticiones donde se colocan exactamente?

ponogo varios ejemplos:

1- una script que dada una imagen (url) la minimiza y la guarda en una carpeta
2- script de seguridad que verifica si un usuario esta logueado
3- script de gestion de errores
4-script que filtra los datos que se insertaran en una base de datos


Gracias a todos
  #2 (permalink)  
Antiguo 28/01/2011, 06:57
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 10 meses
Puntos: 70
Respuesta: diferencias entre modelo y controlador en MVC( modelo vista controlador)

Hola ivan_teruel92...

Según tus ejemplos no se aplicaría tanto este patrón. Debes tener en cuenta que no todo puede ser usado como MVC, (imagina una librería que haga una tarea específica, no se le aplica MVC).

Se usa MVC normalmente para poder abstraer en un sistema, la lógica de programación (controlador) en un clase aparte, la persistencia (el modelo, no necesariamente tiene que ser una base de datos) en otra clase aparte y la vista, partiendo del punto que que será info presentada para el usuario.

Un ejemplo típico, es el listar imagenes...

En el controlador, obtienes el modelo que ejecutará la consulta a la db, y ese controlador le pasará un un arreglo a la vista con todos los registros a mostrar (en la vista deberías recorrer ese array).

Pero quizás en ese listar usuarios necesites mostrar la imagen minimizada, para minimizarla debes tener una librería que se encargará de hacerlo. A Esa librería valdría NO aplicarle MVC.

Espero me haya explicado.

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com

Última edición por Carxl; 28/01/2011 a las 07:04
  #3 (permalink)  
Antiguo 28/01/2011, 07:03
 
Fecha de Ingreso: agosto-2010
Mensajes: 40
Antigüedad: 13 años, 10 meses
Puntos: 2
Respuesta: diferencias entre modelo y controlador en MVC( modelo vista controlador)

Por lo que tengo entendido, frameworks de uso general como codeIgniter, por ejemplo se basan en MVC para estructurar los proyectos, como tratan estos casos esos frameworks? donde incluyen este tipo de funciones / librerias?
  #4 (permalink)  
Antiguo 28/01/2011, 07:10
Avatar de Chenon  
Fecha de Ingreso: abril-2005
Ubicación: Palma de Mallorca
Mensajes: 99
Antigüedad: 19 años, 2 meses
Puntos: 11
Respuesta: diferencias entre modelo y controlador en MVC( modelo vista controlador)

El codeigniter tiene helpers, que son aplicaciones ya creadas para ahorrarte trabajo (carpeta helpers).

Las vistas, controladores y modelos por defecto están en las carpetas views/ , controllers/ y models/.

Un ejemplo básico de como funcionaría el codeigniter sería:

Abres la url: www.ejemplo.com/hola

El codeigniter carga el controlador "hola", carga las vistas y modelos de ese controlador y los muestra por pantalla.

Es muy sencillo, si quieres mas información en la web oficial de codeigniter hay una guia buenísima (en inglés)
__________________
www.serra-project.es
  #5 (permalink)  
Antiguo 28/01/2011, 07:12
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 10 meses
Puntos: 70
Respuesta: diferencias entre modelo y controlador en MVC( modelo vista controlador)

Bueno afortunadamente conozco CodeIgniter...

Sí, CodeIgniter aplica MVC.

CodeIgniter viene con librerías (sin aplicar MVC) para casi la mayoría de requerimientos. Y normalmente las usas en tus controladores.

Para redondearte, según wikipedia:

Cita:
Modelo Vista Controlador (MVC) es un patrón de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos. El patrón de llamada y retorno MVC (según CMU), se ve frecuentemente en aplicaciones web, donde la vista es la página HTML y el código que provee de datos dinámicos a la página. El modelo es el Sistema de Gestión de Base de Datos y la Lógica de negocio, y el controlador es el responsable de recibir los eventos de entrada desde la vista.
Entonces, una librería para pdf..., para dimensionar imágenes y que se invoquen en el controlador no necesariamente tiene por qué aplicársele mvc.

Saludos.
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #6 (permalink)  
Antiguo 28/01/2011, 07:15
 
Fecha de Ingreso: agosto-2010
Mensajes: 40
Antigüedad: 13 años, 10 meses
Puntos: 2
Respuesta: diferencias entre modelo y controlador en MVC( modelo vista controlador)

vale creo que lo he entendido, solo me falta un pequeño detalle...

yo tengo una web donde utilizo MVC + una serie de librerias

el controlador se encarga de recoger las peticiones del usuario por get por ejemplo, este llama a el modelo y recoje los datos necesarios que pasa a la vista...

pero donde entran estas librerias externas? donde las llamo para que se ejecuten? en el controlador?
  #7 (permalink)  
Antiguo 28/01/2011, 07:19
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 10 meses
Puntos: 70
Respuesta: diferencias entre modelo y controlador en MVC( modelo vista controlador)

Normalmente, sí.

Saludos.
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com

Etiquetas: controlador, diferencias, modelo, mvc, vistas
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 14:59.