1. INSTITUTO UNIVERSITARIO DE TECNOLOGÍA
DE ADMINISTRACIÓN INDUSTRIAL
EXTENSIÓN REGIÓN CAPITAL
CARRERA: INFORMÁTICA
LENGUAJE DE PROGRAMACIÓN III
SECCIÓN: 204ª3
CARACTERÍSTICAS GENERALES DEL MODELO
VISTA CONTROLADOR
INTEGRANTES:
RICARDOGONZÁLEZ CI.:14.276.834
2. El modelo vista controlador(MVC):
es un patrón de arquitectura de software que separa los datos y la lógica de negocio
de una aplicación de la interfaz de usuario y el módulo encargado de gestionar los
eventos y las comunicaciones. Para ello MVC propone la construcción de tres
componentes distintos que son el modelo, la vista y el controlador, es decir, por un
lado define componentes para la representación de la información, y por otro lado para
la interacción del usuario. Este patrón de arquitectura de software se basa en las ideas
de reutilización de código y la separación de conceptos, características que buscan
facilitar la tarea de desarrollo de aplicaciones y su posterior mantenimiento.
Características:
El patrón Modelo-Vista-Controlador para el diseño de aplicaciones Web es un estándar
de la industria en el mundo Java. Hay muchos libros y recursos excelentes disponibles
sobre el tema que ayudan a acelerar el proceso de aprendizaje para el equipo de
desarrollo. En un breve repaso, MVC viene de Model, View, Controller, o bien: Modelo,
Vista y Controlador. La idea básica de este patrón es separar nuestros sistemas en tres
capas, el Modelo, la Vista y el Controlador.
El Modelo se encarga de todo lo que tiene que ver con la persistencia de datos.
Guarda y recupera la información del medio persistente que utilicemos, ya sea
una base de datos, ficheros de texto, XML, etc.
La Vista presenta la información obtenida con el modelo de manera que el
usuario la pueda visualizar.
El Controlador, dependiendo de la acción solicitada por el usuario, es el que
pide al modelo la información necesaria e invoca a la plantilla (de la vista) que
corresponda para que la información sea presentada.
Hay algo de esfuerzo necesario para aprender a utilizar un marco MVC en php. Sin
embargo, para el desarrollador de aplicaciones Web grandes, este esfuerzo debe ser
recompensado por los numerosos beneficios de utilizar un patrón de diseño MVC, tales
como:
Aplica la modularidad y la partición de aplicación.
Aumenta la creación de roles específicos en el desarrollo.
Aumenta la capacidad de gestión de código.
Aumento de la extensibilidad del código (Capacidad de adaptación a cambios).
3. Como implementarel MVC en PHP:
Para implementar el MVC es imprescindible crear una estructura de ficheros parecida a
esta:
Veamos un ejemplo típico del uso del MVC con PHP. Para comprenderlo sería ideal
que supieras PHP Orientado a objetos y cómo funciona la extensión MYSQL
# index.php
1 <?php
2 require_once("db/db.php");
3 require_once("controllers/personas_controller.php");
4 ?>
# db.php
1 <?php
2 class Conectar{
3 public static function conexion(){
4 $conexion=new mysqli("localhost", "root", "", "mvc");
5 $conexion->query("SET NAMES 'utf8'");
6 return $conexion;
7 }
8 }
9 ?>
4. # Model/personas_model.php
1 <?php
2 class personas_model{
3 private $db;
4 private $personas;
5
6 public function __construct(){
7 $this->db=Conectar::conexion();
8 $this->personas=array();
9 }
10 public function get_personas(){
11 $consulta=$this->db->query("select * from personas;");
12 while($filas=$consulta->fetch_assoc()){
13 $this->personas[]=$filas;
14 }
15 return $this->personas;
16 }
17 }
18 ?>
# contoller/personas_controller.php
1 <?php
2 //Llamada al modelo
3 require_once("models/personas_model.php");
4 $per=new personas_model();
5 $datos=$per->get_personas();
6
7 //Llamada a la vista
8 require_once("views/personas_view.phtml");
9 ?>
5. El controlador debe tener siempre esta estructura llamada al modelo y debajo a la vista,
si hubiera más modelos y vistas se sigue haciendo así con todos.
# View/personas_view.phtml
1
<!DOCTYPE
html>
2 <html lang="es">
3 <head>
4 <meta charset="UTF-8" />
5 <title>Personas</title>
6 </head>
7 <body>
8 <?php
9 foreach ($datos as $dato) {
10 echo $dato["nombre"]."<br/>";
11 }
12 ?>
13 </body>
14 </html>
Los ficheros de la vista según el estándar de Zend Framework debemos usar .phtml,
pero se podría sin ningún problema usar la extensión .php
Muchos dicen que es recomendable usar CamelCase en los nombres de los ficheros y
las clases, a efectos prácticos da igual usarlo que no, incluso algunos frameworks
como Codeigniter nos sugieren que usemos nombres como “wellcome_model” por eso
no he utilizado CamelCase. Si puedes y quieres abusa del CamelCase, porque así lo
dicen los estándares.