SlideShare una empresa de Scribd logo
1 de 6
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
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).
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 ?>
# 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 ?>
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.
Esquema del ejemplo:

Más contenido relacionado

La actualidad más candente

La actualidad más candente (9)

patron-mvc
 patron-mvc patron-mvc
patron-mvc
 
Framespresentacion
FramespresentacionFramespresentacion
Framespresentacion
 
Mvc
MvcMvc
Mvc
 
Mvc
MvcMvc
Mvc
 
MVC - (Spanish)
MVC - (Spanish)MVC - (Spanish)
MVC - (Spanish)
 
Acciones
AccionesAcciones
Acciones
 
Curso de Struts2: Unidad Didáctica 00 Introduccion
Curso de Struts2: Unidad Didáctica 00 IntroduccionCurso de Struts2: Unidad Didáctica 00 Introduccion
Curso de Struts2: Unidad Didáctica 00 Introduccion
 
Curso AngularJS - 6. formularios
Curso AngularJS - 6. formulariosCurso AngularJS - 6. formularios
Curso AngularJS - 6. formularios
 
Curso AngularJS - 1. introducción
Curso AngularJS - 1. introducciónCurso AngularJS - 1. introducción
Curso AngularJS - 1. introducción
 

Similar a Programacion 3 mvc (20)

Clase 10 mvc
Clase 10 mvcClase 10 mvc
Clase 10 mvc
 
Struts en Java
Struts en JavaStruts en Java
Struts en Java
 
Patron mvc struts
Patron mvc strutsPatron mvc struts
Patron mvc struts
 
Modelo mvc
Modelo mvcModelo mvc
Modelo mvc
 
Aplicaciones en capas1
Aplicaciones en capas1Aplicaciones en capas1
Aplicaciones en capas1
 
S01-s1-MVC.pptx
S01-s1-MVC.pptxS01-s1-MVC.pptx
S01-s1-MVC.pptx
 
Asp.net mvc
Asp.net mvcAsp.net mvc
Asp.net mvc
 
Modelo vista controlador #ihcpfgigs_Diseñoweb
Modelo vista controlador #ihcpfgigs_DiseñowebModelo vista controlador #ihcpfgigs_Diseñoweb
Modelo vista controlador #ihcpfgigs_Diseñoweb
 
MVC
MVCMVC
MVC
 
Introduccion mvc
Introduccion mvcIntroduccion mvc
Introduccion mvc
 
Documentacion struts2
Documentacion struts2Documentacion struts2
Documentacion struts2
 
Documentacion struts2 laura.palma
Documentacion struts2 laura.palmaDocumentacion struts2 laura.palma
Documentacion struts2 laura.palma
 
Documentacion struts 2
Documentacion struts 2Documentacion struts 2
Documentacion struts 2
 
Org tutorial struts_2010
Org tutorial struts_2010Org tutorial struts_2010
Org tutorial struts_2010
 
Modelo vistacontrolador
Modelo vistacontroladorModelo vistacontrolador
Modelo vistacontrolador
 
Documentacionstruts2 luiggi
Documentacionstruts2 luiggiDocumentacionstruts2 luiggi
Documentacionstruts2 luiggi
 
Jquery Hmvc
Jquery HmvcJquery Hmvc
Jquery Hmvc
 
modelo MVC.pptx
modelo MVC.pptxmodelo MVC.pptx
modelo MVC.pptx
 
patrón MVC.pdf
patrón MVC.pdfpatrón MVC.pdf
patrón MVC.pdf
 
Framework
FrameworkFramework
Framework
 

Último

Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdflauradbernals
 
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdflibro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdfFAUSTODANILOCRUZCAST
 
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COMCOMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COMcespitiacardales
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdfedwinmelgarschlink2
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenadanielaerazok
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAdanielaerazok
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webDecaunlz
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenajuniorcuellargomez
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfOscarBlas6
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfisrael garcia
 

Último (10)

Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdf
 
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdflibro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdf
 
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COMCOMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalena
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la web
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalena
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdf
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
 

Programacion 3 mvc

  • 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.