• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Mvc
 

Mvc

on

  • 9,843 views

 

Statistics

Views

Total Views
9,843
Views on SlideShare
9,726
Embed Views
117

Actions

Likes
1
Downloads
316
Comments
0

8 Embeds 117

http://pensandoenbinario.blogspot.com 72
http://www.slideshare.net 33
http://pensandoenbinario.blogspot.com.es 4
http://pensandoenbinario.blogspot.mx 3
http://webcache.googleusercontent.com 2
http://localhost 1
http://www.techgig.com 1
http://pensandoenbinario.blogspot.com.ar 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Mvc Mvc Presentation Transcript

    • Zend Framework Desarrollo de aplicaciones MVC en PHP Juan Carbajal Paxi 1
    • Agenda Introducción. MVC. Zend Framework. Aplicación. Librerías. 2
    • Introducción 3
    • ¿Por qué un framework? Común plataforma de desarrollo para un equipo. Consistencia y orden de código en distintos proyectos. Testeadas y probada soluciones a un problema común. Ahorro de tiempo en la programación. Mejora la seguridad de la aplicación. 4
    • ¿Qué frameworks existen? Nombre Lenguaje Licencia RubyOnRails Ruby MIT Struts Java/j2ee Apache Spring Framework Java/j2ee Apache Tapestry Java/j2ee Apache Aurora Java/j2ee Apache Catalyst Perl GPL CakePHP PHP MIT CodeIgniter PHP GNU/GPL Kumbia PHP GNU/GPL Symfony PHP MIT Seagull PHP MIT Qcodo PHP MIT Zend PHP MIT Zope3 Python ZPL Turbogears Python Varias Django Python BSD MonoRails .NET Apache Spring .Net .NET Apache 5
    • Frameworks PHP Zend Cake Code Igniter Symfony PHP5 Si No No Si Estructura de directorios predefinida No Si Si Si Internacionalización Oficial Si En progreso No Si Scripts de línea de comandos para la instalación del framework No No No Si Requiere Configuración Si No No Si Proveedor ORM comprensible No Si No Si (Propel) Buena documentación y tutoriales Si Si Si Si Testeo de unidades Si No No Si Soporte de Comunidad Si Si Si Si 6
    • ¿Por qué Zend Framework? Zend Framework provee un esqueleto de alta calidad para el desarrollo de Aplicaciones Web y Servicios Web. Siguiendo el espíritu de PHP, fácil uso y potente funcionalidad; enfocándose en cambios de construcción de aplicaciones web robustas, seguras y modernas. http://framework.zend.com/ 7
    • Metas de Zend Framework Piensen en hacer las cosas simples, pero no mas simples. (Albert Einstein) Simple es fácil de usar. Simple es mas estable y menos propenso a errores. Simple es mas compatible. Simple es fácil de mantener. 8
    • Enfoque de Zend Framework Simple ya es poderoso. Foco en las tareas. Alta productividad. Costo efectivo. Simples tareas para configurar aplicaciones. 9
    • Caracteristicas de Zend Framework Librería basada en componentes que resuelve el 80% de problemas comunes. Arquitectura flexible. PHP 5, OO. Diseño extensible. Encapsula las mejores prácticas. Bien documentada. Soporte comercial (Zend) Soporte en Zend Studio/Eclipse (PDT) Licencia BSD 10
    • MVC 11
    • Historia Aplicaciones Tradicionales. Strust (1999). Ruby on Rails (Convención sobre configuración). Existe un intento de llevar la programación orientada a eventos a la web. 12
    • Modelo Vista Controlador Es un patrón de arquitectura de software que divide una aplicación en tres capas. Originalmente fue implementado como un mapa tradicional de ingreso: Ingreso de Datos -> Proceso -> Salida de Datos Controlador -> Modelo -> Vista 13
    • Modelo Vista Controlador 14
    • Modelo Es la representación especifica de datos y lógica de datos que asegura la integridad y herencia de datos. Representa datos y su actividad. Responde a solicitudes e instrucciones de cambio. No tiene conocimiento sobre el controlador o la vista. Ejemplo UML -> SQL -> PHP Object 15
    • Vista Son un conjunto de scripts que estructuran la representación de datos en la salida (pantalla, servicios, impresoras). Es la forma de visualización del estado del modelo. Captura datos. Ejm: lista.html, noticias.xml, reporte.pdf, comentarios.html 16
    • Controlador Manejador de eventos que provocan cambios en el modelo y/o la vista. Es el despachador de respuestas y controlador de flujo. Ofrece facilidades para cambiar el estado del modelo, interpretando eventos del ratón y del teclado; y comandando el modelo y/o vista para cambiar apropiadamente. 17
    • Modelo Vista Controlador 18
    • Interacción MVC Controlador <-> Vista El controlador y la vista pueden interactuar Controlador <-> Modelo El controlador puede extraer datos de el modelo para decisiones o puede modificar el modelo. Vista <- Modelo La vista puede acceder al modelo para recibir datos, pero no para escribir en el. 19
    • Ventajas Separa la manipulación de datos, la representación y el control de eventos, permitiendo un código mantenible. Decrementa la duplicación de código. Centraliza el control de datos. Facilita el mantenimiento y modificación de la aplicación. Ayuda a equipos de desarrollo en centrarse en áreas especificas. Mayor facilidad para añadir fuentes de datos y tipos de clientes. 20
    • Zend Framework 21
    • Modelo: Zend_Db Provee la abstracción de la Base de datos mediante Zend_Db_Adapter. Limitado (query) abstracción de consulta. Provee opcional consulta de perfiles. Tabla de conexión directa vía Zend_Db_Table. Beneficios: Código portable. Fácil asignación de base de datos para todas las tablas. OO 22
    • Modelo: Zend_Db 23
    • Vista: Zend_View Usa PHP como lenguaje de plantilla Asigna variables en el objeto Zend_View. Accede a las variables con notación de objetos $this->var El formato seleccionado es utilizado en la respuesta. Variables grabadas en la plantilla. Helpers: Registro de helpers en la carpeta de la vista. Filters: Filtros para convertir formatos HTML a PDF, JSON, XML, Tidy, etc. Ventajas: todo el PHP a su disposición. 24
    • Vista: Zend_View 25
    • Controlador: Zend_Controller Bootstrap: Instancia de Zend_Controller_Front Configuración del entorno frontal del controlador $front->dispatch() Captura solicitud (Zend_Controller_Request_Abstract) Rutea solicitud (Zend_Controller_Route_Rewrite) /controlador/accion/parametro/valor /modulo/controlador/accion/parametro/valor /biblioteca/usuario/buscar/nombre/jose Inicia interacción de despacho despacha acción (Zend_Controller_Dispatcher_Standard) controlador instanciado (Zend_Controller_Action) llamada al método acción Envía respuesta (Zend_Controller_Response_Abstract) 26
    • Controlador: Zend_Controller_Action 27
    • Estructura de Archivos Estructura de archivos /www /app /models /controller /views /helpers /scripts /index /library /Zend /public .htaccess index.php /javascript /css 28
    • Estructura de Archivos Estructura de archivos (modular) /www /app /models /modules /default /controller /views /helpers /filters /scripts /index /library /Zend /public .htaccess index.php /javascript /css 29
    • Ventajas de Zend Framework Claridad de diseño. Modularidad eficiente. Múltiples vistas y presentaciones. Extensible y configurable. DIstribuible. 30
    • Aplicación 31
    • Librerías 32
    • Componentes MVC Zend_Controller Base de Datos Controlador Frontal I18N Ruteo Manipulación de acciones Autentificación Plugins y Helpers Servicios Web Solicitudes Correo, Formato, Respuestas Búsqueda Zend_View Utilidad Plantilla de clase PHP Helpers Filtros Zend_Json (ajax) 33
    • Componentes MVC Zend_Db_Adapter Base de Datos IBM Db2, Oracle, MySQL, I18N MS Sql Server, PostgreSQL, Firebird, Autentificación Sqlite. Servicios Web Zend_Db_Profiler Correo, Formato, Zend_Db_Select Búsqueda Zend_Db_Table Utilidad Zend_Db_Table_Rowset Zend_Db_Table_Row ActiveRecord 34
    • Componentes MVC Zend_Locale Base de Datos Zend_Translate I18N Array, CSV, GetText, QT, Autentificación Tmx, Xliff Servicios Web Zend_Date Correo, Formato, Zend_Measure Búsqueda Utilidad 35
    • Componentes MVC Zend_Auth Base de Datos DbTable I18N Digest Http Autentificación Zend_Session Servicios Web Persistente. Correo, Formato, Zend_Acl Búsqueda Manejo de roles y Utilidad privilegios 36
    • Componentes MVC Zend_Http_Client Base de Datos Zend_Rest_Client I18N Zend_Service Autentificación Akimef, Amazon, Flickr, Servicios Web Simpy, Audioscrobbler, Strikelron, Delicious, Correo, Formato, Yahoo Búsqueda Zend_Feed (RSS y Atom) Utilidad Zend_Gdata (Google Data Api) Zend_XmlRpc_Client 37
    • Componentes MVC Zend_Mail Base de Datos Zend_Mime I18N Lee o envia correos Autentificación Zend_Pdf Servicios Web Lee, edita y crea documentos PDF Correo, Formato, Zend_Search_Lucene Busqueda Ingieneria de Busqueda Utilidad Compatibilidad con Apache Lucene 38
    • Componentes MVC Zend_Cache Base de Datos Zend_Config I18N Zend_Console_Getopt Autentificación Zend_Filter Servicios Web Zend_Filter_Input Correo, Formato, Zend_Loader Busqueda Zend_Log Utilidad 39
    • ¿Preguntas? 40