0
Universidad Nacional de Avellaneda | www.undav.edu.ar     Betabeers Buenos Aires | 30 de Marzo de 2012Patrón arquitectónic...
Universidad Nacional de Avellaneda | www.undav.edu.ar     Betabeers Buenos Aires | 30 de Marzo de 2012Modelo, vista, contr...
Universidad Nacional de Avellaneda | www.undav.edu.ar   Betabeers Buenos Aires | 30 de Marzo de 2012       ¿Cómo funciona?...
Universidad Nacional de Avellaneda | www.undav.edu.ar   Betabeers Buenos Aires | 30 de Marzo de 2012                     G...
Universidad Nacional de Avellaneda | www.undav.edu.ar               Betabeers Buenos Aires | 30 de Marzo de 2012          ...
Universidad Nacional de Avellaneda | www.undav.edu.ar   Betabeers Buenos Aires | 30 de Marzo de 2012              Particul...
Universidad Nacional de Avellaneda | www.undav.edu.ar                   Betabeers Buenos Aires | 30 de Marzo de 2012      ...
Universidad Nacional de Avellaneda | www.undav.edu.ar            Betabeers Buenos Aires | 30 de Marzo de 2012             ...
Universidad Nacional de Avellaneda | www.undav.edu.ar       Betabeers Buenos Aires | 30 de Marzo de 2012                  ...
Universidad Nacional de Avellaneda | www.undav.edu.ar   Betabeers Buenos Aires | 30 de Marzo de 2012                      ...
Universidad Nacional de Avellaneda | www.undav.edu.ar               Betabeers Buenos Aires | 30 de Marzo de 2012          ...
Universidad Nacional de Avellaneda | www.undav.edu.ar              Betabeers Buenos Aires | 30 de Marzo de 2012           ...
Universidad Nacional de Avellaneda | www.undav.edu.ar                 Betabeers Buenos Aires | 30 de Marzo de 2012        ...
Universidad Nacional de Avellaneda | www.undav.edu.ar             Betabeers Buenos Aires | 30 de Marzo de 2012            ...
Universidad Nacional de Avellaneda | www.undav.edu.ar                     Betabeers Buenos Aires | 30 de Marzo de 2012    ...
Universidad Nacional de Avellaneda | www.undav.edu.ar   Betabeers Buenos Aires | 30 de Marzo de 2012              ¿Cómo or...
Universidad Nacional de Avellaneda | www.undav.edu.ar    Betabeers Buenos Aires | 30 de Marzo de 2012             “    Man...
Universidad Nacional de Avellaneda | www.undav.edu.ar    Betabeers Buenos Aires | 30 de Marzo de 2012             “  Un ar...
Universidad Nacional de Avellaneda | www.undav.edu.ar    Betabeers Buenos Aires | 30 de Marzo de 2012             “       ...
Universidad Nacional de Avellaneda | www.undav.edu.ar    Betabeers Buenos Aires | 30 de Marzo de 2012             “       ...
Universidad Nacional de Avellaneda | www.undav.edu.ar    Betabeers Buenos Aires | 30 de Marzo de 2012             “       ...
Universidad Nacional de Avellaneda | www.undav.edu.ar    Betabeers Buenos Aires | 30 de Marzo de 2012             “      H...
Betabeers Buenos Aires | 30 de Marzo de 2012             “Universidad Nacional de Avellaneda | www.undav.edu.ar           ...
Universidad Nacional de Avellaneda | www.undav.edu.ar   Betabeers Buenos Aires | 30 de Marzo de 2012                      ...
Universidad Nacional de Avellaneda | www.undav.edu.ar   Betabeers Buenos Aires | 30 de Marzo de 2012             Keep It S...
Universidad Nacional de Avellaneda | www.undav.edu.ar             Betabeers Buenos Aires | 30 de Marzo de 2012            ...
Upcoming SlideShare
Loading in...5
×

Taller MVC

737

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
737
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
112
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Taller MVC"

  1. 1. Universidad Nacional de Avellaneda | www.undav.edu.ar Betabeers Buenos Aires | 30 de Marzo de 2012Patrón arquitectónico: “ Plantilla que define la estructura de un MVC Sistema y las normas de organización para construir el Software PATRÓN ARQUITECTÓNICO Entendiendo el patrón arquitectónico MVC @eugeniabahit
  2. 2. Universidad Nacional de Avellaneda | www.undav.edu.ar Betabeers Buenos Aires | 30 de Marzo de 2012Modelo, vista, controlador: “ Patrón Arquitectónico que define la MVC estructura de un sistema, separando la lógica de negocio de la interfaz de usuario MODEL-VIEW-CONTROLLER Entendiendo el patrón arquitectónico MVC @eugeniabahit
  3. 3. Universidad Nacional de Avellaneda | www.undav.edu.ar Betabeers Buenos Aires | 30 de Marzo de 2012 ¿Cómo funciona? De lo general a lo particular y de lo particular al detalle Entendiendo el patrón arquitectónico MVC @eugeniabahit
  4. 4. Universidad Nacional de Avellaneda | www.undav.edu.ar Betabeers Buenos Aires | 30 de Marzo de 2012 Generalidades... Entendiendo el patrón arquitectónico MVC @eugeniabahit
  5. 5. Universidad Nacional de Avellaneda | www.undav.edu.ar Betabeers Buenos Aires | 30 de Marzo de 2012 1 Petición Contacta CONTROLADOR 3 2 5 MODELO Muestra Retorna Entrega VISTA 4 Entendiendo el patrón arquitectónico MVC @eugeniabahit
  6. 6. Universidad Nacional de Avellaneda | www.undav.edu.ar Betabeers Buenos Aires | 30 de Marzo de 2012 Particularidades... Entendiendo el patrón arquitectónico MVC @eugeniabahit
  7. 7. Universidad Nacional de Avellaneda | www.undav.edu.ar Betabeers Buenos Aires | 30 de Marzo de 2012 Petición CONTROLADOR Handler Recibe las peticiones del usuario Analiza y transforma la información Helper recibida Instancia al modelo Modifica las propiedades del modelo Llama al método correspondiente Entendiendo el patrón arquitectónico MVC @eugeniabahit
  8. 8. Universidad Nacional de Avellaneda | www.undav.edu.ar Betabeers Buenos Aires | 30 de Marzo de 2012 Contacta CONTROLADOR Capa de abstracción (core de la App) Se conecta a la base de datos, retornando al modelo, una MODELO matriz con los Retorna datos obtenidos Define las propiedades y los métodos del modelo Los métodos harán uso de la capa de abstracción para acceder a la base de datos. No se conectan a ella directamente. Entendiendo el patrón arquitectónico MVC @eugeniabahit
  9. 9. Universidad Nacional de Avellaneda | www.undav.edu.ar Betabeers Buenos Aires | 30 de Marzo de 2012 Lógica CONTROLADOR Da formato / transforma la información recibida VISTA Entrega GUI Renderiza la información formateada en la GUI y la muestra al usuario Entendiendo el patrón arquitectónico MVC @eugeniabahit
  10. 10. Universidad Nacional de Avellaneda | www.undav.edu.ar Betabeers Buenos Aires | 30 de Marzo de 2012 Detalles... Entendiendo el patrón arquitectónico MVC @eugeniabahit
  11. 11. Universidad Nacional de Avellaneda | www.undav.edu.ar Betabeers Buenos Aires | 30 de Marzo de 2012 MODELO class Persona { // propiedades public $nombre; public $apellido; // Crear nueva persona public function set_persona() { $data = array(nombre => $this->nombre, apellido => $this->apellido,); $result = $db_abstract_layer->add(Persona, $data); return $result; // True o False } } Entendiendo el patrón arquitectónico MVC @eugeniabahit
  12. 12. Universidad Nacional de Avellaneda | www.undav.edu.ar Betabeers Buenos Aires | 30 de Marzo de 2012 Requerida por el class DBAbstractLayer { Modelo // propiedades // .... // conecta a la base de datos Capa de abstracción // Agregar nuevo dato public function add($model, $data) { $fields = array_keys($data); $values = array_values($data); // formatear $fields y $values $sql = "INSERT INTO {$model} ($fields) VALUES ($values)"; // ejecutar query // retornar mensaje } } Entendiendo el patrón arquitectónico MVC @eugeniabahit
  13. 13. Universidad Nacional de Avellaneda | www.undav.edu.ar Betabeers Buenos Aires | 30 de Marzo de 2012 Handler CONTROLADOR // handler $controller = new PersonaController(); class PersonaController { switch ($peticion) { case agregar-persona: public function agregar() { $controller->agregar(); Break; // verifica, filtra y analiza la data recibida // .... $data = helper_validar_data_persona(); } // instanciar al modelo $persona = new Persona(); // modificar propiedades del modelo Helper $persona->nombre = $data[nombre]; $persona->apellido = $data[apellido]; function helper_validar_persona() { if(isset($_POST)) { // llamar al método correspndiente // filtrar datos... $result = $persona->set_persona(); // return $datos_filtrados } } // enviar datos a la vista $vista = new PersonaView(); $vista->mostrar_msg_nueva_persona($result); } } Entendiendo el patrón arquitectónico MVC @eugeniabahit
  14. 14. Universidad Nacional de Avellaneda | www.undav.edu.ar Betabeers Buenos Aires | 30 de Marzo de 2012 <!doctype html> <head> VISTA <title>Agregar Persona</title> <!-- … --> GUI </head> <body> <h1>Agregar Persona</h1> <p class=system_msg>[[MENSAJE]]</p> <!-- … --> </body> </html> Entendiendo el patrón arquitectónico MVC @eugeniabahit
  15. 15. Universidad Nacional de Avellaneda | www.undav.edu.ar Betabeers Buenos Aires | 30 de Marzo de 2012 Lógica class PersonaView { public function mostrar_msg_nueva_persona($result) { VISTA // formateo los datos recibidos if($result === True) { $mensaje = La persona ha sido agregada; } else { $mensaje = Se ha producido un error; } // traigo la GUI $gui = file_get_contents(persona.html); // Hago un render de la GUI $html = str_replace([[MENSAJE]], $mensaje, $gui); // muestro la data formateada echo $html; } } Entendiendo el patrón arquitectónico MVC @eugeniabahit
  16. 16. Universidad Nacional de Avellaneda | www.undav.edu.ar Betabeers Buenos Aires | 30 de Marzo de 2012 ¿Cómo organizar la estructura de la App? Normas básicas para optimizar la estructura Entendiendo el patrón arquitectónico MVC @eugeniabahit
  17. 17. Universidad Nacional de Avellaneda | www.undav.edu.ar Betabeers Buenos Aires | 30 de Marzo de 2012 “ Mantener una estructura de directorios limpia y con coherencia [-] mi-aplicacion [+] core [-] modulo-a [+] modelos [+] vistas [+] controladores lógica [-] modulo-b [+] modelos [+] vistas [+] controladores Entendiendo el patrón arquitectónico MVC @eugeniabahit
  18. 18. Universidad Nacional de Avellaneda | www.undav.edu.ar Betabeers Buenos Aires | 30 de Marzo de 2012 “ Un archivo por cada modelo. El nombre del archivo, igual al [-] mi-aplicacion [+] core [-] modulo-a [-] modelos persona.php usuario.php nombre del modelo [+] vistas [+] controladores [-] modulo-b [+] modelos producto.php [+] vistas [+] controladores Entendiendo el patrón arquitectónico MVC @eugeniabahit
  19. 19. Universidad Nacional de Avellaneda | www.undav.edu.ar Betabeers Buenos Aires | 30 de Marzo de 2012 “ Crear un controlador para cada modelo [-] mi-aplicacion [+] core [-] modulo-a [-] modelos persona.php usuario.php [+] vistas [-] controladores persona.php usuario.php Entendiendo el patrón arquitectónico MVC @eugeniabahit
  20. 20. Universidad Nacional de Avellaneda | www.undav.edu.ar Betabeers Buenos Aires | 30 de Marzo de 2012 “ Crear una vista para cada modelo [-] mi-aplicacion [+] core [-] modulo-a [-] modelos persona.php usuario.php [-] vistas persona.php usuario.php [-] controladores persona.php usuario.php Entendiendo el patrón arquitectónico MVC @eugeniabahit
  21. 21. Universidad Nacional de Avellaneda | www.undav.edu.ar Betabeers Buenos Aires | 30 de Marzo de 2012 “ Colocar archivos estáticos en un directorio independiente [-] mi-aplicacion [+] modulo-a [-] static [-] html persona.html usuario.html plantilla_base.html [+] css [+] img [+] js Entendiendo el patrón arquitectónico MVC @eugeniabahit
  22. 22. Universidad Nacional de Avellaneda | www.undav.edu.ar Betabeers Buenos Aires | 30 de Marzo de 2012 “ Helpers y Handlers deben ir en el directorio del módulo [-] mi-aplicacion [+] core [-] modulo-a [+] modelos [+] vistas [+] controladores correspondiente helpers.php handler.php Entendiendo el patrón arquitectónico MVC @eugeniabahit
  23. 23. Betabeers Buenos Aires | 30 de Marzo de 2012 “Universidad Nacional de Avellaneda | www.undav.edu.ar Librerías funciones genéricas [-] mi-aplicacion y todo dato [+] core [-] libs reutilizable, PHPTemplate.php siempre deben DBConn.php pertenecer al core FormValidate.php PHPAggregateFuncs.php de la App [+] orm constantes.php settings.php Entendiendo el patrón arquitectónico MVC @eugeniabahit
  24. 24. Universidad Nacional de Avellaneda | www.undav.edu.ar Betabeers Buenos Aires | 30 de Marzo de 2012 Pero por sobre todo, NO TE OLVIDES DE UN PRINCIPIO BÁSICO... Entendiendo el patrón arquitectónico MVC @eugeniabahit
  25. 25. Universidad Nacional de Avellaneda | www.undav.edu.ar Betabeers Buenos Aires | 30 de Marzo de 2012 Keep It Simple, S...! ¡Gracias! Entendiendo el patrón arquitectónico MVC @eugeniabahit
  26. 26. Universidad Nacional de Avellaneda | www.undav.edu.ar Betabeers Buenos Aires | 30 de Marzo de 2012 ¡Soy un documento libre! Descargame en: http://taller-de-php.eugeniabahit.com DISTRIBUIME, COPIAME Y MODIFICAME COMO QUIERAS SE LIBRE COMO EN LIBERTAD Entendiendo el patrón arquitectónico MVC @eugeniabahit
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×