SlideShare una empresa de Scribd logo
Elaborado por: Ing Ligia Duran
Elaborado por: Ing Ligia Duran
MODELO- VISTA - CONTROLADOR
El usuario que se encuentra del lado cliente a través de la aplicación
hace una petición que debe pasar por el primer filtro que es la vista lo que
Elaborado por: Ing Ligia Duran
puede visualizar el usuario, ese primer filtro puede hacer una serie de
validaciones del lado del cliente que se pueden hacer con javascripts,
funciones que se retornen para poder mostrar al usuario que la información
que esta mostrando esta correcta.
Después de la petición que el usuario hace la petición y se cumplen
las validaciones pasa a la segunda capa que es el controlador, hace la
validación del lada del servidor verifica la solicitud del cliente y si es valida
pasa a la tercera capa que es el modelo y decide que debe hacer con esa
información si es para generar una interacción si debe ir a la base de datos y
seleccionar un dato. Luego que el modelo ejecuta las solicitudes esta
respuesta se devuelve al controlador y el controlador muestra la solicitud a
través de la vista. Y el usuario revisa la respuesta.
Con este modelo se protege la base de datos y el usuario vea el
resultado final a través de la vista, se recomienda trabajar con este patrón
cuando se trabaja con seguridad informática, ya que ofrece mejor protección
a los datos del sistema.
Para ello se debe utilizar la Programación Orientada a Objeto, porque se va
instanciar y heredar clases que se van a ver reflejadas en la vistas y usadas
por el modelo y el controlador.
A continuación se detalla cómo aplicar este patrón:
Crear tres carpetas con lo siguiente Modelo, Vista Controlador en la carpeta
del localhost.
Luego utilizando el sublime text
Elaborado por: Ing Ligia Duran
Se crea un archivo index.php fuera de las carpetas creadas anteriormente,
este archivo se encargara de mostrar la salida de las visitas al usuario y
también se envían las distintas acciones que el usuario envié al controlador.
Ahora se crea un archivo con el nombre plantilla.php, que se encargara de
tener la información de la vista del usuario cuando comience a interactuar.
Elaborado por: Ing Ligia Duran
Ahora para llamar plantilla.php, dentro de index.php, se crea el archivo
controlador.php y se coloca lo siguiente.
Elaborado por: Ing Ligia Duran
El controlador.php va iniciar con una clase que se llame MvcControlador que
tiene una función pública que se llamara plantilla, luego a través del método
include que permite incluir un archivo dentro de otro se llama el archivo
plantilla.php, y que muestre el código de plantilla.php, ahora en index.php se
crea el objeto partiendo de la clase MvcControlador y se le pide que llame a
la función plantilla() porque se esta haciendo una instancia del controlador. Y
para que conecte se utiliza el método requiere, que se utiliza para que
requiera el archivo Controlador.php, para ser ejecutado.
Ahora probamos en el navegador,
Elaborado por: Ing Ligia Duran
Hasta, ahora no tiene estilos, y le deben agregar los de su preferencia.
Si visualizan el código fuente desde el navegador no visualizaran ninguno de
los archivos del controlador y la vista.
Elaborado por: Ing Ligia Duran
Hasta ahora solo se ha trabajado con la vista y el controlador, el
usuario envía solicitud por la vista el controlador la ejecuta y envía la
respuesta mediante la vista. Y se protegen y se encapsula la información
mediante este patrón.
Es importante resaltar la función del require_once() funciona de las
misma forma que los demás, salvo que se impide la carga de un mismo
archivo más de una vez. Si requerimos el archivo más de una vez se corre el
riesgo de redeclarar variables, funcione y clases.
Se agrega el archivo de estilos.css
Elaborado por: Ing Ligia Duran
Se agrega en el head el siguiente link para llamar a los estilos de la pagina
<link rel="stylesheet" type="text/css" href="Vista/estilos.css">
Y se visualizara de la siguiente manera:
Elaborado por: Ing Ligia Duran
Ahora se va modularizar el sistema y creamos una carpeta llamada modulo. y
el archivo menu.php, extrayendo la información del nav de la plantilla.php.
como se muestra en la siguiente imagen.
Luego donde se encontraba el código del menú se hace el llamado con el
método include() al archivo menú.php.
<?php
include "Modulos/menu.php";
?>
Quedando plantilla.php de la siguiente manera
Elaborado por: Ing Ligia Duran
La finalidad de esta distribuir de esta manera el menú es que lo puedes
incluir en varias vistas con el mismo código.
Lo mismo va ocurrir con la section se dejara vacio y se crean los archivos,
inicio.php, contacto.php, servicios.php y nosotros.php, donde se colocara la
etiqueta h1 que estaba en el section de platntilla.php.
Elaborado por: Ing Ligia Duran
A continuación como se visualizaran estos módulos a través de la variable
GET, que son variables enviadas a través de la URL, canal de comunicación
que permite PHP y están variables se indentifican con el símbolo ?, el nombre
de la variable y se le debe asignar hacia donde se debe dirigir (a que archivo).
En este caso se debe modificar el archivo menú.php
Elaborado por: Ing Ligia Duran
En la parte de abajo y se visualiza la dirección que se le asigno en el
menú y al dar click se visualiza en el URL, de esta manera se crea un enlace
con variable GET.
Se debe tomar en cuenta que no se debe usar esta variable GET,
para contraseñas, solo son usadas para navegar.
Esta variable la recibe el controlador y se va recibir mediante una
función pública enlacesPainaControlador(), mediante una variable recibirá lo
que envie GET con la variable action y para poner en funcionamiento se
debe hacer lo siguiente:
public function enlacesPaginasControlador(){
$enlaces = $_GET["action"];
echo $enlaces;
}
}
Elaborado por: Ing Ligia Duran
Y quedaría de la siguiente manera el archivo controlador.php
Y en el section del archivo plantilla.php se colocara lo siguiente, se crea la
variable $mvc que se encargara de mostrar cuando se le da click al menú.
Elaborado por: Ing Ligia Duran
Y si ejecutamos el sistema en el localhost se muestra de la siguiente manera
Aquí me esta mostrando con echo el valor de la variable no el
archivo que debe mostrar el menú.
A continuación se mostrara como llamar a los archivos inicio.php,
nosotros.php, servicios.php y contacto.php
Para esto enviaremos al modelo para que haga la iteración, se debe crear el
archivo modelo.php dentro de la carpeta Modelo y creamos una Clase
EnlacesPaginas(), con una función enlacesPainaModelo(), con parámetros y
para poder recibir el valor de la variable $enlaces se debe crear en la función
enlacesPainaControlador(), una variable respuesta, el cual heredar la
función enlacesPaginasModelo. A continuación se visualiza el código. Y para
que funcione se debe invocar desde el index.php o el controlador del archivo
modelo.php, en este caso se invocara desde el index.php de la siguiente
manera.
Require_once”Modelo/Modelo.php”
Así queda el archivo controlador.php
Elaborado por: Ing Ligia Duran
Y el Modelo.php
Ahora luego de recibir la variable debemos validar en el archivo modelo.php
Elaborado por: Ing Ligia Duran
Modificamos la clases EnlacesPaginas aregando una condición para poder
ejecutar los archivo, inicio.php, contacto.php, servicios.php y nosotros.php
if ($enlacesModelo == "inicio" ||
$enlacesModelo == "nosotros" ||
$enlacesModelo == "servicios" ||
$enlacesModelo == "contactenos"){
$modulo = "Vista/Modulos/".$enlacesModelo.".php";
}
Y retorna la variable modulo y se no enlacesModelo
return $modulo;
y queda de la siguiente manera
Elaborado por: Ing Ligia Duran
Ahora para que se muestren las paginas solicitada se le agrega un include $respuesta al
archivo controlador.php
Listo la pagina interactiva de contenidos modulares en modelo vista controlador se
procede a limpiar la URL, pero se encontrara un pequeño problema cuando se vuelva a
ingresar al index.php, y genera este error.
Elaborado por: Ing Ligia Duran
Porque todo lo estamos llamando con la GET action y no aparece en el index.php,
debemos limpiar la URL, a continuación se detalla.
Se procede a modificar el controlador.php, utilizando el método isset que trae contenido,
modificando la función function enlacesPaginasControlador() colocando un condicional
que verifique si la variable action tiene información y si no que ejecute el index.php y que
el archivo quedaría de la siguiente manera:
Elaborado por: Ing Ligia Duran
Ahora en el archivo modelo.php se colocara una condición que verifique si se esta
llamando al index para que lo ejecute,
Se elimina del primer condicional el llamado de la página de inicio, y si la
variable action retorna vacía se ejecuta el else y muestra la página de Inicio.
Ahora vamos a crear una lista blanca y una lista negra, la primera significa hacer una
restricción de solo los enlaces permitidos y la negra es hacer una lista de la palabras no
permitidas, por ahora vamos a utilizar la lista blanca.
La creamos agregando al modelo.php en el condicional un else tal como
class EnlacesPaginas{
public function EnlacesPaginasModelo($enlacesModelo){
if ($enlacesModelo == "inicio" ||
$enlacesModelo == "nosotros" ||
$enlacesModelo == "servicios" ||
$enlacesModelo == "contacto"){
$modulo = "Vista/Modulos/".$enlacesModelo.".php";
}
Elaborado por: Ing Ligia Duran
else if($enlacesModelo == "index"){
$modulo = "Vista/Modulos/inicio.php";
}
else{
$modulo = "Vista/Modulos/inicio.php"; //con esta instrucción se agrea la lista blanca
}
return $modulo;
}
}
Ejemplo si en la URL reemplazamos inicio por chicas nos ejecutara la pagina de inicio.
Si colocamos servicios muestra la paina servicio.

Más contenido relacionado

La actualidad más candente

Principles of compiler design
Principles of compiler designPrinciples of compiler design
Principles of compiler design
DHARANI BABU
 
HCI U-II HCI software Process (1).pdf
HCI U-II HCI software Process (1).pdfHCI U-II HCI software Process (1).pdf
HCI U-II HCI software Process (1).pdf
udhayaveenaa
 
Communication primitives
Communication primitivesCommunication primitives
Communication primitives
Student
 
Why C is Called Structured Programming Language
Why C is Called Structured Programming LanguageWhy C is Called Structured Programming Language
Why C is Called Structured Programming Language
Sinbad Konick
 
Bootstrap latihan
Bootstrap latihanBootstrap latihan
Bootstrap latihan
Fajar Baskoro
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMS
Kathirvel Ayyaswamy
 
5 creating meaningful graphics, icons and images
5 creating meaningful graphics, icons and images5 creating meaningful graphics, icons and images
5 creating meaningful graphics, icons and images
Zen Pao Javier
 
Hypertext, multimedia and www
Hypertext, multimedia and wwwHypertext, multimedia and www
Hypertext, multimedia and www
PhD Research Scholar
 
CNF & Leftmost Derivation - Theory of Computation
CNF & Leftmost Derivation - Theory of ComputationCNF & Leftmost Derivation - Theory of Computation
CNF & Leftmost Derivation - Theory of Computation
Drishti Bhalla
 
Distributed file systems chapter 9
Distributed file systems chapter 9Distributed file systems chapter 9
Distributed file systems chapter 9
Alagappa Government Arts College, Karaikudi
 
Course outline of parallel and distributed computing
Course outline of parallel and distributed computingCourse outline of parallel and distributed computing
Course outline of parallel and distributed computing
National College of Business Administration & Economics ( NCBA&E)
 
Java servlets and CGI
Java servlets and CGIJava servlets and CGI
Java servlets and CGI
lavanya marichamy
 
opnet
opnetopnet
3 Tier Architecture
3  Tier Architecture3  Tier Architecture
3 Tier ArchitectureWebx
 
VTU 18CPS13/23 CPPS module-1 PPT
VTU 18CPS13/23 CPPS module-1 PPTVTU 18CPS13/23 CPPS module-1 PPT
VTU 18CPS13/23 CPPS module-1 PPT
girishmantha
 
Database Lecture Notes
Database Lecture NotesDatabase Lecture Notes
Database Lecture Notes
FellowBuddy.com
 
Securing hand held computing devices
Securing hand held computing devicesSecuring hand held computing devices
Securing hand held computing devicesjraja01
 
Use case-diagram
Use case-diagramUse case-diagram
Use case-diagram
Ghofar Rohman
 

La actualidad más candente (20)

Principles of compiler design
Principles of compiler designPrinciples of compiler design
Principles of compiler design
 
HCI U-II HCI software Process (1).pdf
HCI U-II HCI software Process (1).pdfHCI U-II HCI software Process (1).pdf
HCI U-II HCI software Process (1).pdf
 
Communication primitives
Communication primitivesCommunication primitives
Communication primitives
 
Why C is Called Structured Programming Language
Why C is Called Structured Programming LanguageWhy C is Called Structured Programming Language
Why C is Called Structured Programming Language
 
Bootstrap latihan
Bootstrap latihanBootstrap latihan
Bootstrap latihan
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMS
 
5 creating meaningful graphics, icons and images
5 creating meaningful graphics, icons and images5 creating meaningful graphics, icons and images
5 creating meaningful graphics, icons and images
 
3 tier architecture
3 tier architecture3 tier architecture
3 tier architecture
 
Hypertext, multimedia and www
Hypertext, multimedia and wwwHypertext, multimedia and www
Hypertext, multimedia and www
 
CNF & Leftmost Derivation - Theory of Computation
CNF & Leftmost Derivation - Theory of ComputationCNF & Leftmost Derivation - Theory of Computation
CNF & Leftmost Derivation - Theory of Computation
 
Distributed file systems chapter 9
Distributed file systems chapter 9Distributed file systems chapter 9
Distributed file systems chapter 9
 
Course outline of parallel and distributed computing
Course outline of parallel and distributed computingCourse outline of parallel and distributed computing
Course outline of parallel and distributed computing
 
Java servlets and CGI
Java servlets and CGIJava servlets and CGI
Java servlets and CGI
 
opnet
opnetopnet
opnet
 
3 Tier Architecture
3  Tier Architecture3  Tier Architecture
3 Tier Architecture
 
VTU 18CPS13/23 CPPS module-1 PPT
VTU 18CPS13/23 CPPS module-1 PPTVTU 18CPS13/23 CPPS module-1 PPT
VTU 18CPS13/23 CPPS module-1 PPT
 
Database Lecture Notes
Database Lecture NotesDatabase Lecture Notes
Database Lecture Notes
 
Securing hand held computing devices
Securing hand held computing devicesSecuring hand held computing devices
Securing hand held computing devices
 
Use case-diagram
Use case-diagramUse case-diagram
Use case-diagram
 
C++ Problem solving
C++ Problem solvingC++ Problem solving
C++ Problem solving
 

Similar a Conociendo el Patron Modelo Vista Controlador

Introduccion mvc
Introduccion mvcIntroduccion mvc
Introduccion mvc
lissette_torrealba
 
Doctrine symfony
Doctrine symfonyDoctrine symfony
Doctrine symfony
rmirandaibanez
 
Doctrine symfony
Doctrine symfonyDoctrine symfony
Doctrine symfony
rmirandaibanez
 
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corporacion de Industrias Tecnologicas S.A.
 
Jquery Hmvc
Jquery HmvcJquery Hmvc
Mvc
MvcMvc
Primera_Aplicación_Python_Django_Postgresql_Fedora_19
Primera_Aplicación_Python_Django_Postgresql_Fedora_19Primera_Aplicación_Python_Django_Postgresql_Fedora_19
Primera_Aplicación_Python_Django_Postgresql_Fedora_19
Stalin Eduardo Tusa Vitar
 
Programación orientada a objetos II
Programación orientada a objetos IIProgramación orientada a objetos II
Programación orientada a objetos II
yanburbano
 
WPF Series - 01
WPF Series - 01WPF Series - 01
WPF Series - 01kazcorp
 
Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3
jose luis barrientos
 
Proyecto web Php-MySQL-Ajax-Flex
Proyecto web Php-MySQL-Ajax-FlexProyecto web Php-MySQL-Ajax-Flex
Proyecto web Php-MySQL-Ajax-Flex
Jose Manuel Ortega Candel
 
Php curso02
Php   curso02Php   curso02
Php curso02
viruscraquer
 
Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...
Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...
Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...
JaenFrankcezco
 
Manual de netbeans_7(2)(2)(2)
Manual de netbeans_7(2)(2)(2)Manual de netbeans_7(2)(2)(2)
Manual de netbeans_7(2)(2)(2)
javier_ot99
 
Tutorial MVC - Zenphp - Programador PHP
Tutorial MVC - Zenphp - Programador PHPTutorial MVC - Zenphp - Programador PHP
Tutorial MVC - Zenphp - Programador PHP
Juan Belón Pérez
 
Empezando con Play y reactive mongo (Segundo meetup Scala Perú Dec 2015)
Empezando con Play y reactive mongo (Segundo meetup Scala Perú Dec 2015)Empezando con Play y reactive mongo (Segundo meetup Scala Perú Dec 2015)
Empezando con Play y reactive mongo (Segundo meetup Scala Perú Dec 2015)
Marco Antonio Ordoñez Valverde
 
Manual de administracion de Wordpress
Manual de administracion de WordpressManual de administracion de Wordpress
Manual de administracion de Wordpressmateitoo1Mh
 

Similar a Conociendo el Patron Modelo Vista Controlador (20)

Introduccion mvc
Introduccion mvcIntroduccion mvc
Introduccion mvc
 
Doctrine symfony
Doctrine symfonyDoctrine symfony
Doctrine symfony
 
Doctrine symfony
Doctrine symfonyDoctrine symfony
Doctrine symfony
 
Taller desarrollo web
Taller  desarrollo webTaller  desarrollo web
Taller desarrollo web
 
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
 
Jquery Hmvc
Jquery HmvcJquery Hmvc
Jquery Hmvc
 
Mvc
MvcMvc
Mvc
 
3. consultar datos
3.  consultar datos3.  consultar datos
3. consultar datos
 
Primera_Aplicación_Python_Django_Postgresql_Fedora_19
Primera_Aplicación_Python_Django_Postgresql_Fedora_19Primera_Aplicación_Python_Django_Postgresql_Fedora_19
Primera_Aplicación_Python_Django_Postgresql_Fedora_19
 
Programación orientada a objetos II
Programación orientada a objetos IIProgramación orientada a objetos II
Programación orientada a objetos II
 
WPF Series - 01
WPF Series - 01WPF Series - 01
WPF Series - 01
 
Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3
 
Proyecto web Php-MySQL-Ajax-Flex
Proyecto web Php-MySQL-Ajax-FlexProyecto web Php-MySQL-Ajax-Flex
Proyecto web Php-MySQL-Ajax-Flex
 
Funciones
FuncionesFunciones
Funciones
 
Php curso02
Php   curso02Php   curso02
Php curso02
 
Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...
Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...
Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...
 
Manual de netbeans_7(2)(2)(2)
Manual de netbeans_7(2)(2)(2)Manual de netbeans_7(2)(2)(2)
Manual de netbeans_7(2)(2)(2)
 
Tutorial MVC - Zenphp - Programador PHP
Tutorial MVC - Zenphp - Programador PHPTutorial MVC - Zenphp - Programador PHP
Tutorial MVC - Zenphp - Programador PHP
 
Empezando con Play y reactive mongo (Segundo meetup Scala Perú Dec 2015)
Empezando con Play y reactive mongo (Segundo meetup Scala Perú Dec 2015)Empezando con Play y reactive mongo (Segundo meetup Scala Perú Dec 2015)
Empezando con Play y reactive mongo (Segundo meetup Scala Perú Dec 2015)
 
Manual de administracion de Wordpress
Manual de administracion de WordpressManual de administracion de Wordpress
Manual de administracion de Wordpress
 

Más de lissette_torrealba

Guia reportes
Guia reportesGuia reportes
Guia reportes
lissette_torrealba
 
Guiajquery
GuiajqueryGuiajquery
Guiajquery
lissette_torrealba
 
Plan de evaluación proyecto i 2 teoría
Plan de evaluación proyecto i 2 teoríaPlan de evaluación proyecto i 2 teoría
Plan de evaluación proyecto i 2 teoría
lissette_torrealba
 
Plan de evaluación proyecto i 2 metodología
Plan de evaluación proyecto i 2 metodologíaPlan de evaluación proyecto i 2 metodología
Plan de evaluación proyecto i 2 metodología
lissette_torrealba
 
Plan de evaluacion proyecto i 2 práctica
Plan de evaluacion proyecto i 2 prácticaPlan de evaluacion proyecto i 2 práctica
Plan de evaluacion proyecto i 2 práctica
lissette_torrealba
 
Guiajsvalidacion
GuiajsvalidacionGuiajsvalidacion
Guiajsvalidacion
lissette_torrealba
 
Guiajs2
Guiajs2Guiajs2
Rubrica 2021 electiva 2
Rubrica 2021 electiva 2Rubrica 2021 electiva 2
Rubrica 2021 electiva 2
lissette_torrealba
 
Mapa Tecnopedagogia
Mapa TecnopedagogiaMapa Tecnopedagogia
Mapa Tecnopedagogia
lissette_torrealba
 
Matriz DOFA lissette
Matriz DOFA lissetteMatriz DOFA lissette
Matriz DOFA lissette
lissette_torrealba
 
Planevaluacionproyectoivpractica
PlanevaluacionproyectoivpracticaPlanevaluacionproyectoivpractica
Planevaluacionproyectoivpractica
lissette_torrealba
 
Rubrica bd 2021
Rubrica  bd  2021Rubrica  bd  2021
Rubrica bd 2021
lissette_torrealba
 
Proyecto formativo iv metodologia
Proyecto formativo iv metodologiaProyecto formativo iv metodologia
Proyecto formativo iv metodologia
lissette_torrealba
 
Plan evaluacion teoria
Plan evaluacion teoriaPlan evaluacion teoria
Plan evaluacion teoria
lissette_torrealba
 
Plan de Evaluacion
Plan de EvaluacionPlan de Evaluacion
Plan de Evaluacion
lissette_torrealba
 
Ejemplos de interfaz grafica
Ejemplos de  interfaz grafica Ejemplos de  interfaz grafica
Ejemplos de interfaz grafica
lissette_torrealba
 
Rubrica bd 2021
Rubrica bd 2021 Rubrica bd 2021
Rubrica bd 2021
lissette_torrealba
 
Rubrica Programación II 2021
Rubrica Programación II 2021 Rubrica Programación II 2021
Rubrica Programación II 2021
lissette_torrealba
 
Rup
RupRup
Documentosistema
DocumentosistemaDocumentosistema
Documentosistema
lissette_torrealba
 

Más de lissette_torrealba (20)

Guia reportes
Guia reportesGuia reportes
Guia reportes
 
Guiajquery
GuiajqueryGuiajquery
Guiajquery
 
Plan de evaluación proyecto i 2 teoría
Plan de evaluación proyecto i 2 teoríaPlan de evaluación proyecto i 2 teoría
Plan de evaluación proyecto i 2 teoría
 
Plan de evaluación proyecto i 2 metodología
Plan de evaluación proyecto i 2 metodologíaPlan de evaluación proyecto i 2 metodología
Plan de evaluación proyecto i 2 metodología
 
Plan de evaluacion proyecto i 2 práctica
Plan de evaluacion proyecto i 2 prácticaPlan de evaluacion proyecto i 2 práctica
Plan de evaluacion proyecto i 2 práctica
 
Guiajsvalidacion
GuiajsvalidacionGuiajsvalidacion
Guiajsvalidacion
 
Guiajs2
Guiajs2Guiajs2
Guiajs2
 
Rubrica 2021 electiva 2
Rubrica 2021 electiva 2Rubrica 2021 electiva 2
Rubrica 2021 electiva 2
 
Mapa Tecnopedagogia
Mapa TecnopedagogiaMapa Tecnopedagogia
Mapa Tecnopedagogia
 
Matriz DOFA lissette
Matriz DOFA lissetteMatriz DOFA lissette
Matriz DOFA lissette
 
Planevaluacionproyectoivpractica
PlanevaluacionproyectoivpracticaPlanevaluacionproyectoivpractica
Planevaluacionproyectoivpractica
 
Rubrica bd 2021
Rubrica  bd  2021Rubrica  bd  2021
Rubrica bd 2021
 
Proyecto formativo iv metodologia
Proyecto formativo iv metodologiaProyecto formativo iv metodologia
Proyecto formativo iv metodologia
 
Plan evaluacion teoria
Plan evaluacion teoriaPlan evaluacion teoria
Plan evaluacion teoria
 
Plan de Evaluacion
Plan de EvaluacionPlan de Evaluacion
Plan de Evaluacion
 
Ejemplos de interfaz grafica
Ejemplos de  interfaz grafica Ejemplos de  interfaz grafica
Ejemplos de interfaz grafica
 
Rubrica bd 2021
Rubrica bd 2021 Rubrica bd 2021
Rubrica bd 2021
 
Rubrica Programación II 2021
Rubrica Programación II 2021 Rubrica Programación II 2021
Rubrica Programación II 2021
 
Rup
RupRup
Rup
 
Documentosistema
DocumentosistemaDocumentosistema
Documentosistema
 

Último

Presidencias radicales (1916 – 1930) (1) (1).pdf
Presidencias radicales (1916 – 1930) (1) (1).pdfPresidencias radicales (1916 – 1930) (1) (1).pdf
Presidencias radicales (1916 – 1930) (1) (1).pdf
MARIANA110300
 
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Unidad de Espiritualidad Eudista
 
El lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libroEl lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libro
Distea V región
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
pablomarin116
 
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdfLas Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Demetrio Ccesa Rayme
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
https://gramadal.wordpress.com/
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
20minutos
 
Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1
MauricioSnchez83
 
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdfGuia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
Demetrio Ccesa Rayme
 
El espiritismo desenmascarado.pdf. Lec. 10
El espiritismo desenmascarado.pdf. Lec. 10El espiritismo desenmascarado.pdf. Lec. 10
El espiritismo desenmascarado.pdf. Lec. 10
Alejandrino Halire Ccahuana
 
Dia de la Bandera colegio Santa Angela 2024
Dia de la Bandera colegio Santa Angela 2024Dia de la Bandera colegio Santa Angela 2024
Dia de la Bandera colegio Santa Angela 2024
77361565
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
El Fortí
 
Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.
amayaltc18
 
Biografía de Gregor Mendel y sus 3 leyes.pptx
Biografía de Gregor Mendel y sus 3 leyes.pptxBiografía de Gregor Mendel y sus 3 leyes.pptx
Biografía de Gregor Mendel y sus 3 leyes.pptx
ar5498718
 
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
valerytorresmendizab
 
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
20minutos
 
Tema 3-2 Aparato reproductor femenino 2024
Tema 3-2 Aparato reproductor femenino 2024Tema 3-2 Aparato reproductor femenino 2024
Tema 3-2 Aparato reproductor femenino 2024
IES Vicent Andres Estelles
 
JOSÉ MARÍA ARGUEDAS cuentos breves para secundaria
JOSÉ MARÍA ARGUEDAS cuentos breves para secundariaJOSÉ MARÍA ARGUEDAS cuentos breves para secundaria
JOSÉ MARÍA ARGUEDAS cuentos breves para secundaria
alegrialesliemarlene
 
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docxLecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Alejandrino Halire Ccahuana
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
20minutos
 

Último (20)

Presidencias radicales (1916 – 1930) (1) (1).pdf
Presidencias radicales (1916 – 1930) (1) (1).pdfPresidencias radicales (1916 – 1930) (1) (1).pdf
Presidencias radicales (1916 – 1930) (1) (1).pdf
 
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
 
El lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libroEl lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libro
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
 
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdfLas Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
 
Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1
 
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdfGuia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
 
El espiritismo desenmascarado.pdf. Lec. 10
El espiritismo desenmascarado.pdf. Lec. 10El espiritismo desenmascarado.pdf. Lec. 10
El espiritismo desenmascarado.pdf. Lec. 10
 
Dia de la Bandera colegio Santa Angela 2024
Dia de la Bandera colegio Santa Angela 2024Dia de la Bandera colegio Santa Angela 2024
Dia de la Bandera colegio Santa Angela 2024
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
 
Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.
 
Biografía de Gregor Mendel y sus 3 leyes.pptx
Biografía de Gregor Mendel y sus 3 leyes.pptxBiografía de Gregor Mendel y sus 3 leyes.pptx
Biografía de Gregor Mendel y sus 3 leyes.pptx
 
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
 
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
 
Tema 3-2 Aparato reproductor femenino 2024
Tema 3-2 Aparato reproductor femenino 2024Tema 3-2 Aparato reproductor femenino 2024
Tema 3-2 Aparato reproductor femenino 2024
 
JOSÉ MARÍA ARGUEDAS cuentos breves para secundaria
JOSÉ MARÍA ARGUEDAS cuentos breves para secundariaJOSÉ MARÍA ARGUEDAS cuentos breves para secundaria
JOSÉ MARÍA ARGUEDAS cuentos breves para secundaria
 
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docxLecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
 

Conociendo el Patron Modelo Vista Controlador

  • 1. Elaborado por: Ing Ligia Duran
  • 2. Elaborado por: Ing Ligia Duran MODELO- VISTA - CONTROLADOR El usuario que se encuentra del lado cliente a través de la aplicación hace una petición que debe pasar por el primer filtro que es la vista lo que
  • 3. Elaborado por: Ing Ligia Duran puede visualizar el usuario, ese primer filtro puede hacer una serie de validaciones del lado del cliente que se pueden hacer con javascripts, funciones que se retornen para poder mostrar al usuario que la información que esta mostrando esta correcta. Después de la petición que el usuario hace la petición y se cumplen las validaciones pasa a la segunda capa que es el controlador, hace la validación del lada del servidor verifica la solicitud del cliente y si es valida pasa a la tercera capa que es el modelo y decide que debe hacer con esa información si es para generar una interacción si debe ir a la base de datos y seleccionar un dato. Luego que el modelo ejecuta las solicitudes esta respuesta se devuelve al controlador y el controlador muestra la solicitud a través de la vista. Y el usuario revisa la respuesta. Con este modelo se protege la base de datos y el usuario vea el resultado final a través de la vista, se recomienda trabajar con este patrón cuando se trabaja con seguridad informática, ya que ofrece mejor protección a los datos del sistema. Para ello se debe utilizar la Programación Orientada a Objeto, porque se va instanciar y heredar clases que se van a ver reflejadas en la vistas y usadas por el modelo y el controlador. A continuación se detalla cómo aplicar este patrón: Crear tres carpetas con lo siguiente Modelo, Vista Controlador en la carpeta del localhost. Luego utilizando el sublime text
  • 4. Elaborado por: Ing Ligia Duran Se crea un archivo index.php fuera de las carpetas creadas anteriormente, este archivo se encargara de mostrar la salida de las visitas al usuario y también se envían las distintas acciones que el usuario envié al controlador. Ahora se crea un archivo con el nombre plantilla.php, que se encargara de tener la información de la vista del usuario cuando comience a interactuar.
  • 5. Elaborado por: Ing Ligia Duran Ahora para llamar plantilla.php, dentro de index.php, se crea el archivo controlador.php y se coloca lo siguiente.
  • 6. Elaborado por: Ing Ligia Duran El controlador.php va iniciar con una clase que se llame MvcControlador que tiene una función pública que se llamara plantilla, luego a través del método include que permite incluir un archivo dentro de otro se llama el archivo plantilla.php, y que muestre el código de plantilla.php, ahora en index.php se crea el objeto partiendo de la clase MvcControlador y se le pide que llame a la función plantilla() porque se esta haciendo una instancia del controlador. Y para que conecte se utiliza el método requiere, que se utiliza para que requiera el archivo Controlador.php, para ser ejecutado. Ahora probamos en el navegador,
  • 7. Elaborado por: Ing Ligia Duran Hasta, ahora no tiene estilos, y le deben agregar los de su preferencia. Si visualizan el código fuente desde el navegador no visualizaran ninguno de los archivos del controlador y la vista.
  • 8. Elaborado por: Ing Ligia Duran Hasta ahora solo se ha trabajado con la vista y el controlador, el usuario envía solicitud por la vista el controlador la ejecuta y envía la respuesta mediante la vista. Y se protegen y se encapsula la información mediante este patrón. Es importante resaltar la función del require_once() funciona de las misma forma que los demás, salvo que se impide la carga de un mismo archivo más de una vez. Si requerimos el archivo más de una vez se corre el riesgo de redeclarar variables, funcione y clases. Se agrega el archivo de estilos.css
  • 9. Elaborado por: Ing Ligia Duran Se agrega en el head el siguiente link para llamar a los estilos de la pagina <link rel="stylesheet" type="text/css" href="Vista/estilos.css"> Y se visualizara de la siguiente manera:
  • 10. Elaborado por: Ing Ligia Duran Ahora se va modularizar el sistema y creamos una carpeta llamada modulo. y el archivo menu.php, extrayendo la información del nav de la plantilla.php. como se muestra en la siguiente imagen. Luego donde se encontraba el código del menú se hace el llamado con el método include() al archivo menú.php. <?php include "Modulos/menu.php"; ?> Quedando plantilla.php de la siguiente manera
  • 11. Elaborado por: Ing Ligia Duran La finalidad de esta distribuir de esta manera el menú es que lo puedes incluir en varias vistas con el mismo código. Lo mismo va ocurrir con la section se dejara vacio y se crean los archivos, inicio.php, contacto.php, servicios.php y nosotros.php, donde se colocara la etiqueta h1 que estaba en el section de platntilla.php.
  • 12. Elaborado por: Ing Ligia Duran A continuación como se visualizaran estos módulos a través de la variable GET, que son variables enviadas a través de la URL, canal de comunicación que permite PHP y están variables se indentifican con el símbolo ?, el nombre de la variable y se le debe asignar hacia donde se debe dirigir (a que archivo). En este caso se debe modificar el archivo menú.php
  • 13. Elaborado por: Ing Ligia Duran En la parte de abajo y se visualiza la dirección que se le asigno en el menú y al dar click se visualiza en el URL, de esta manera se crea un enlace con variable GET. Se debe tomar en cuenta que no se debe usar esta variable GET, para contraseñas, solo son usadas para navegar. Esta variable la recibe el controlador y se va recibir mediante una función pública enlacesPainaControlador(), mediante una variable recibirá lo que envie GET con la variable action y para poner en funcionamiento se debe hacer lo siguiente: public function enlacesPaginasControlador(){ $enlaces = $_GET["action"]; echo $enlaces; } }
  • 14. Elaborado por: Ing Ligia Duran Y quedaría de la siguiente manera el archivo controlador.php Y en el section del archivo plantilla.php se colocara lo siguiente, se crea la variable $mvc que se encargara de mostrar cuando se le da click al menú.
  • 15. Elaborado por: Ing Ligia Duran Y si ejecutamos el sistema en el localhost se muestra de la siguiente manera Aquí me esta mostrando con echo el valor de la variable no el archivo que debe mostrar el menú. A continuación se mostrara como llamar a los archivos inicio.php, nosotros.php, servicios.php y contacto.php Para esto enviaremos al modelo para que haga la iteración, se debe crear el archivo modelo.php dentro de la carpeta Modelo y creamos una Clase EnlacesPaginas(), con una función enlacesPainaModelo(), con parámetros y para poder recibir el valor de la variable $enlaces se debe crear en la función enlacesPainaControlador(), una variable respuesta, el cual heredar la función enlacesPaginasModelo. A continuación se visualiza el código. Y para que funcione se debe invocar desde el index.php o el controlador del archivo modelo.php, en este caso se invocara desde el index.php de la siguiente manera. Require_once”Modelo/Modelo.php” Así queda el archivo controlador.php
  • 16. Elaborado por: Ing Ligia Duran Y el Modelo.php Ahora luego de recibir la variable debemos validar en el archivo modelo.php
  • 17. Elaborado por: Ing Ligia Duran Modificamos la clases EnlacesPaginas aregando una condición para poder ejecutar los archivo, inicio.php, contacto.php, servicios.php y nosotros.php if ($enlacesModelo == "inicio" || $enlacesModelo == "nosotros" || $enlacesModelo == "servicios" || $enlacesModelo == "contactenos"){ $modulo = "Vista/Modulos/".$enlacesModelo.".php"; } Y retorna la variable modulo y se no enlacesModelo return $modulo; y queda de la siguiente manera
  • 18. Elaborado por: Ing Ligia Duran Ahora para que se muestren las paginas solicitada se le agrega un include $respuesta al archivo controlador.php Listo la pagina interactiva de contenidos modulares en modelo vista controlador se procede a limpiar la URL, pero se encontrara un pequeño problema cuando se vuelva a ingresar al index.php, y genera este error.
  • 19. Elaborado por: Ing Ligia Duran Porque todo lo estamos llamando con la GET action y no aparece en el index.php, debemos limpiar la URL, a continuación se detalla. Se procede a modificar el controlador.php, utilizando el método isset que trae contenido, modificando la función function enlacesPaginasControlador() colocando un condicional que verifique si la variable action tiene información y si no que ejecute el index.php y que el archivo quedaría de la siguiente manera:
  • 20. Elaborado por: Ing Ligia Duran Ahora en el archivo modelo.php se colocara una condición que verifique si se esta llamando al index para que lo ejecute, Se elimina del primer condicional el llamado de la página de inicio, y si la variable action retorna vacía se ejecuta el else y muestra la página de Inicio. Ahora vamos a crear una lista blanca y una lista negra, la primera significa hacer una restricción de solo los enlaces permitidos y la negra es hacer una lista de la palabras no permitidas, por ahora vamos a utilizar la lista blanca. La creamos agregando al modelo.php en el condicional un else tal como class EnlacesPaginas{ public function EnlacesPaginasModelo($enlacesModelo){ if ($enlacesModelo == "inicio" || $enlacesModelo == "nosotros" || $enlacesModelo == "servicios" || $enlacesModelo == "contacto"){ $modulo = "Vista/Modulos/".$enlacesModelo.".php"; }
  • 21. Elaborado por: Ing Ligia Duran else if($enlacesModelo == "index"){ $modulo = "Vista/Modulos/inicio.php"; } else{ $modulo = "Vista/Modulos/inicio.php"; //con esta instrucción se agrea la lista blanca } return $modulo; } } Ejemplo si en la URL reemplazamos inicio por chicas nos ejecutara la pagina de inicio. Si colocamos servicios muestra la paina servicio.