ARQUITECTURA MVC Modelo Vista Controlador es un patrón de arquitectura de software que se utiliza mucho en aplicaciones web, separándola en tres capas.

1 ARQUITECTURA MVC Modelo Vista Controlador es un patrón ...
Author: Aarón Mora Salinas
0 downloads 4 Views

1 ARQUITECTURA MVC Modelo Vista Controlador es un patrón de arquitectura de software que se utiliza mucho en aplicaciones web, separándola en tres capas (modelo, controlador y vista) que posteriormente veremos para que se utiliza cada una. 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 usuario1 2 . Este patrón de diseño 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 mantenimiento3 4 . Tomado de:

2 INVENTARIO PASOS DE LA ARQUITECTURA1. Creación del MER (modelo entidad relación) que se aplicara en el proyecto INVENTARIO BD TABLA

3 PASOS DE LA ARQUITECTURA2. Creación de procedimientos almacenados (insertar, listar, consultar, editar, eliminar) Crear el procedimiento almacenado con el nombre de: insertarcliente

4 PASOS DE LA ARQUITECTURASe debe crear carpeta principal dentro de esta crear la estructura inicial. (Creación de las carpetas de ubicación de los procesos principales) En C:\xammp\htdocs\nombre del proyecto Nombre del proyecto En la carpeta MODELO estarán todos los archivos que manejan las reglas del negocio e interactuar con la base de datos los cuales llamaremos NombreModelo.php. En la carpeta CONEXION alojaremos la conexión que establece con el servidor mysql (contraseña, usuario mysql, nombre de la BD) CtrNombreControl.php La VISTA es el código HTML que se muestra al usuario, con la información proveniente del controlador, se manejaran dependiendo el proceso 2 archivos; uno NombreFormulario.php y el otro quien recibe los datos del formulario y los envía al controlador para realizar un determinado proceso NombreArchivo.php. En la carpeta CONTROL alojaremos todos los archivos para la comunicación entre el modelo y la interfaz los cuales denominaremos con nombre CtrNombreControl.php.

5 4. MODELO Nombre de Archivo Cliente.php var $Cedula, $Nombres, $Apellidos, $Direccion, $Telefono, $Celular, $ ; //MÉTODO CONSTRUCTOR: se encarga de inicializar los atributos de la clase. function __construct() { } METODOS SET: Cambia el valor de la propiedad (actualiza los valores en el objeto). function setCedula($Cedula) { $this->Cedula=$Cedula; } function setNombres($Nombres) $this->Nombres=$Nombres;

6 function setApellidos($Apellidos){ this->Apellidos=$Apellidos; } function setDireccion($Direccion) $this->Direccion=$Direccion; function setTelefono($Telefono) $this->Telefono=$Telefono; function setCelular($Celular) $this->Celular=$Celular; function set ($ ) $this->set =$ ;

7 METODOS GET: Lee el valor de la propiedad(extrae los valores del objeto)function getCedula() { return $this->Cedula; } function getNombres() return $this->Nombres; function getApellidos() return $this->Apellidos; function getDireccion() return $this->Direccion; function getTelefono() return $this->Telefono;

8 function getCelular(){ return $this->Celular; } function get () return $this->get ; } //CIERRE CLASE ?>

9 5. CONTROL Nombre de Archivo Ctrcliente.php class CtrCliente { var $ObjCliente; var $resultado; //MÉTODO CONSTRUCTOR: se encarga de inicializar los atributos de la clase. function CtrCliente($objClienteIn) $this->ObjCliente=$objClienteIn; } METODO PARA RETORNAR RESULTADOS function getResultado() return $this->resultado;

10 //METODOS PARA REALIZAR PROCESOS//METODO PARA INSERTAR PERSONAS function insertar() { $Cedula=$this->ObjCliente->getCedula(); $Nombre=$this->ObjCliente->getNombre(); $Apellidos=$this->ObjCliente->getApellidos(); $Direccion=$this->ObjCliente->getDireccion(); $Telefono=$this->ObjCliente->getTelefono(); $Celular=$this->ObjCliente->getCelular(); $ =$this->ObjCliente->get (); //ARCHIVO PARA CONECTARNOS A LA BASE DE DATOS include("../conexion/conexion.php");

11 //CONSULTA PARA INSERTAR UN CLIENTE$consulta="call insertarcliente('$Cedula', '$Nombre', '$Apellidos', '$Direccion', '$Telefono','$Celular','$ ')"; $resultado=mysqli_query($conexion,$consulta); if($resultado) { $this->resultado=$resultado; } else return $conexion;

12 6. VISTA Para realizar el proceso de inserción de un registro: se manejan 2 archivos. Archivo 1: contiene la creación del formulario como se muestra en la imagen. Frmcliente.php En el formulario en el método action se debe especificar el nombre del segundo archivo

quien recibirá los datos.

13

14

Cedula
Nombres Apellidos Direccion
Telefono
Celular

15 Archivo 2: Este archivo recibirá los datos del formulario y los enviara al controlador para realizar el proceso de inserción de un cliente guardarcliente.php $Cedula=$_POST["Cedula "]; $Nombres=$_POST["Nombres"]; $Apellidos=$_POST["Apellidos"]; =$_POST[" "]; $Direccion=$_POST["Direccion"]; $Telefono=$_POST["Telefono"]; $Celular=$_POST["Celular"]; //ARCHIVOS PARA TRABAJAR CON EL CLIENTE include("../modelo/cliente.php"); include("../control/ctrcliente.php"); $ObjCliente=new Cliente(); $ObjCtrCliente=new CtrCliente($ObjCliente); $ObjCliente->setCedula($Cedula); $ObjCliente->setNombres($Nombres); $ObjCliente->setApellidos($Apellidos); $ObjCliente->setDireccion($Direccion); $ObjCliente->set ($ ); $ObjCliente->setTelefono($Telefono); $ObjCliente->setCelular($Celular);

16 //LLAMAMOS EL METO PARA REALIZAR LA INSERCION DEL CLIENTE$error=$ObjCtrCliente->insertarcliente(); $resultado=$ObjCtrCliente->getResultado(); if(!$resultado) { die("Error en la consulta: ".mysqli_error($error)); } echo ""; ?> { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://slideplayer.es/8806445/25/images/16/%2F%2FLLAMAMOS+EL+METO+PARA+REALIZAR+LA+INSERCION+DEL+CLIENTE.jpg", "name": "//LLAMAMOS EL METO PARA REALIZAR LA INSERCION DEL CLIENTE", "description": "$error=$ObjCtrCliente->insertarcliente(); $resultado=$ObjCtrCliente->getResultado(); if(!$resultado) { die( Error en la consulta: .mysqli_error($error)); } echo alert( Registro Almacenado ) ; >", "width": "800" }

17 6. CONEXION Se Maneja Un Archivo Llamado Conexión.Php Con La Siguiente Instrucción $conexion=new mysqli("localhost","Usuario(root)","Contraseña","NombreBd") ?> Ejemplo: $conexion=new mysqli('localhost','root','','inventario'); ?>

18 7. Consultar 7,1. Creación de procedimientos almacenados (consultar)Crear el procedimiento almacenado con el nombre de: consultarcliente

19 7,2. en Control Adicionar al archivo ctrlcliente.php antes de la última llave // CONSULTAR function consultar() { $Cedula=$this->ObjCliente->getCedula(); //ARCHIVO PARA CONECTARNOS A LA BASE DE DATOS include("../conexion/conexion.php"); //CONSULTA PARA INSERTAR UN CLIENTE $consulta="call consultarcliente('$Cedula')"; $resultado=mysqli_query($conexion,$consulta); if($resultado) $this->resultado=$resultado; } else return $conexion;

20 7,3. En VISTA Para realizar la consulta de un registro: se manejan 2 archivos. Archivo 1: contiene la creación del formulario como se muestra en la imagen. FrmBuscarcliente.php En el formulario en el método action se debe especificar el nombre del segundo archivo

quien recibirá los datos.

21 7,3,1, Guardarlo en vista con el nombre de FrmBuscarcliente.php

Cedula

22 7,3,2, Guardarlo en vista con el nombre de buscarcliente.php$Cedula=$_POST["Cedula"]; //ARCHIVOS PARA TRABAJAR CON EL CLIENTE include("../modelo/cliente.php"); include("../control/ctrcliente.php"); $ObjCliente=new Cliente(); $ObjCtrCliente=new CtrCliente($ObjCliente); $ObjCliente->setCedula($Cedula); //LLAMAMOS EL METO PARA REALIZAR LA INSERCION DEL CLIENTE $error=$ObjCtrCliente->consultar(); $resultado=$ObjCtrCliente->getResultado(); if(!$resultado) { die("Error en la consulta: ".mysqli_error($error)); } $total=mysqli_num_rows($resultado); if($total!=0) { $row=mysqli_fetch_array($resultado);

23 ?>

Cedula Nombres Apellidos Direccion Telefono Celular
} else { echo""; { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://slideplayer.es/8806445/25/images/23/%3E+%3Ctable+border%3D1%3E+%3Ctr%3E+%3Ctd%3ECedula%3C%2Ftd%3E+%3Ctd%3ENombres%3C%2Ftd%3E+%3Ctd%3EApellidos%3C%2Ftd%3E+%3Ctd%3EDireccion%3C%2Ftd%3E.jpg", "name": "> Cedula Nombres Apellidos Direccion", "description": "Telefono Celular Email < php echo $row[ Cedula ]; > < php echo $row[ Nombres ]; > < php echo $row[ Apellidos ]; > < php echo $row[ Direccion ]; > < php echo $row[ Telefono ]; > < php echo $row[ Celular ]; > < php echo $row[ Email ]; > < php. } else. { echo alert( No hay registros ); ;", "width": "800" }

24 8. Listar 8,1. Creación de procedimientos almacenados (Listar)Crear el procedimiento almacenado con el nombre de: listarcliente

25 8,2. en Control Adicionar al archivo ctrlcliente.php antes de la última llave //METODO PARA LISTAR TODOS LOS CLIENTES function listar() { //ARCHIVO PARA CONECTARNOS A LA BASE DE DATOS include("../conexion/conexion.php"); //CONSULTA PARA INSERTAR UN CLIENTE $consulta="call listarcliente()"; $resultado=mysqli_query($conexion,$consulta); if($resultado) $this->resultado=$resultado; } else return $conexion;

26 8,3. En VISTA Archivo 1: contiene las instrucciones para realizar el listado de todos los clientes listarcliente.php. El cual contiene //ARCHIVOS PARA TRABAJAR CON EL CLIENTE include("../modelo/cliente.php"); include("../control/ctrcliente.php"); $ObjCliente=new Cliente(); $ObjCtrCliente=new CtrCliente($ObjCliente); //LLAMAMOS EL METO PARA REALIZAR LA INSERCION DEL CLIENTE $error=$ObjCtrCliente->listar(); $resultado=$ObjCtrCliente->getResultado(); if(!$resultado) { die("Error en la consulta: ".mysqli_error($error)); } $total=mysqli_num_rows($resultado); if($total!=0) { ?>

27

while($row=mysqli_fetch_array($resultado)) { ?>

28 } ?>

Cedula Nombres Apellidos Direccion Telefono Celular
else { echo""; { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://slideplayer.es/8806445/25/images/28/%3C+php+%7D+%3E+%3C%2Ftable%3E+else+%7B+echo+%3Cscript+language%3D+javascript+%3Ealert%28+No+hay+registros+%29%3B%3C%2Fscript%3E+%3B.jpg", "name": "< php } > else { echo