Desarrollo de Aplicaciones en PHP con Ing. Casiva Agustin Juti 2009.

Slides:



Advertisements
Presentaciones similares
Mónica Acosta Yeison Ceballos Carlos Rodallega
Advertisements

Red Social: “Un millón de Amigos”.
PATRON DAO Data Access Object (OBJETO DE ACCESO A DATOS)
Framework Hexápodo PHP fácil, rápido y sin dolor
Curso de Java y Aplicaciones Web
Symfony La Vista y el Controlador (MVC)
Características Técnicas
SISTEMA DE GENERACIÓN Y SEGUIMIENTO DE REPARACIÓN DE CONTENEDORES
ScrumMe Integrantes: Gabriel Centurión Maximiliano Félix.
Jesús Vázquez Galán ITIS Consultor: Ferran Prados Carrasco Fecha de entrega: 10-ene-2012.
HTML5 & CSS3 Presentado Por: Fernando Ayala
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
Cristian Fonnegra Marin
Luis Ponce Cabello.  Primera Parte : JSF  Segunda Parte : Facelets  Tercera Parte : Icefaces.
J2ME J2SE wifi Proveedor Telefonía celular Encuestador móvil Base de datos Servlet WEB APP JSON Terminal usuario.
@josedlujan. Director de Desarrollo M.T.I. José Dimas Luján Castillo
Introducción al Lenguaje. ¿Qué es PHP? O Es un lenguaje de programación que es interpretado por un servidor web. O El lenguaje es genérico. PHP está orientado.
¿Qué es jQuery? jQuery es una librería gratuita y open source, que simplifica la creación de páginas web altamente interactivas. Funciona.
Manejá tus tiempos Facultad de Ingeniería de la Universidad de Buenos Aires – Marzo 2012.
ScrumMe Integrantes: Gabriel Centurión Maximiliano Félix.
ScrumMe Integrantes: Gabriel Centurión Maximiliano Félix.
SYMFONY Información del Framework. Síntesis de Symfony  Es un framework diseñado para optimizar el desarrollo de aplicaciones web creado con PHP5. 
¿Que es Yii ? Framework para PHP de alta performance basado en componentes web para desarrollar aplicaciones web de gran escala. Yii es un framework que.
Integrantes -Tapia Gastelo, Robint Fernando -Perez Gil, Juan Carlos -Damian Acosta, Edinson -Mejia Vilchez, Antonio -Padilla Huaman, Kely Arquitectura.
Java Server Faces Desarrollo de Aplicaciones Empresariales con Java Instructor: Geovanny Cudco
Sistema de Gestión integral de promociones de los centros comerciales Gestión integral de promociones de los centros comerciales de una ciudad de una ciudad.
T APESTRY Framework Java para Aplicaciones Web. Q UÉ ES T APESTRY Framework de Java, actualmente en su versión 5 (5.1 estable, 5.2 alpha) Implementa MVC.
FUNDAMENTOS WEB DOCENTE : ING. CRISTIAN VALLE RONCEROS.
PRESENTACIÓN DRUPAL Versión 0.1 Por Ricardo Chang.
¿Qué es Drupal? Aplicación web sobre php CMS Framework.
ComprApp Proyecto final de carrera Ingeniería Técnica en Informática de Gestión Curso: Segundo semestre 2012 Autor: Juan Francisco del Río Pacheco Consultor:
Principios, teoría y práctica sobre los conceptos de HTML básicos.
Hojas de Estilo en Cascada CSS RAFAEL MOURGLIA. CSS son las siglas de Cascade Style Sheet que traducido significa hojas de estilo en cascada. Las hojas.
Microsoft Expression Web Designer. Standards-Based Web Sites  Completo soporte de schemas  Elija cualquier schema que se adapte a su desarrollo, y utilice.
Curso de Programación PHP Nivel Básico Profesor: Sebastián Ocaño (Lic. en Sistemas) Horarios: Sábados de 11:30 a 13:30 Sitio web para encuestas y asistencias:
¿Que es PHP? PHP Hypertext Preprocessor Y solo porque me quiero hacer el profesor cool y meter un chiste: PHP también significa: Para Hacer Páginas.
Javier Smaldone 5tas Jornadas Regionales de Software Libre Noviembre de 2005 Rosario, Santa Fe, Argentina Primeros pasos en.
Pruebas de Funcionalidad de Software: Caja Negra y Caja Blanca Curso: Diseño de Sistemas 9no. Semestre.
BASE DE DATOS EN LA WEB POR- OSIRYS MARCIAGA JESUS NIETO.
ALFRESCO.
Tendencias de Construcción Web
Vive Estética Mallorca
11 de enero PFC 2016 Proyecto Final de Carrera – 2015 Semestre 2 – Oscar Escudero Sanchez Andorra la Vella - Andorra Copyright © 2016 Adrián Chavero Ramos.
Administración del tiempo en el desarrollo de sistemas web.
Proyecto GeoEtiquetas
CMS: sistema de Gestión de Contenidos
AREA ACADÉMICA: INFORMÁTICA II TEMA: CREACIÓN DE PÁGINAS WEB MTRA
PHP Hypertext Preprocessor
LOS DIFERENTES LENGUAJES DE PROGRAMACION PARA LA WEB
Tópicos de bases de datos
Miguel García Ruiz Jackeline Giraldo Urrea
VIEWS 2 (mucho más que listados) Pedro Cambra -
Modelo de 3 capas. Qué es la arquitectura de una aplicación? La arquitectura se refiere a la forma en la que es diseñada tanto física como lógicamente.
 PhoneGap es un framework de código libre para el desarrollo de aplicaciones móviles. Su principal característica: multiplataforma, es decir, con un.
CCAPA Tecnologías de Información SAC Ref.: Presentación OSA-ERP
CCAPA Tecnologías de Información SAC Ref.: Presentación OSA-ERP
FUNDAMENTOS DE PROGRAMACION EN ENTORNO WEB. Rodrigo Cabello Ing. Informático Director de proyectos Think – Ideas in Motion FUNDAMENTOS.
Page 1. Page 2 Los lineamientos básicos que debe contener las paginas HTML.
Yii Framework 2. Yii es un framework de PHP de alto rendimiento, basado en componentes para desarrollar aplicaciones web modernas en poco tiempo. El nombre.
Servidores web. ¿Cómo funciona la web? Internet Cliente Web ( Netscape, Internet Explorer, Firefox, etc.) Servidor Web Servidor de nombres (DNS) 2.
Java Enterprise edition
Servidor de Reportes basado en Tecnología Java y XML
Spring Framework.
ARQUITECTURA DEL PROYECTO. La estructura modelo vista controlador se muestra en la siguiente ilustración : ESTRUCTURA DE PROYECTOS DE MVC.
JAVA SCRIPT Y CSS. Hojas de Estilo en Cascada (Cascading Style Sheets) es el lenguaje utilizado para describir la presentación de documentos HTML o XML.
Lenguajes del lado del cliente
FRAMEWORK DE DESARROLLO DE APLICACIONES EMPRESARIALES WEB
Tecnología Web Rodrigo Durán y Juan Díaz. ¿Que es?
CRUD.
Historia del HTML y de Internet Tim Berners-Lee creó la primera versión del lenguaje HTML en 1989, junto con su equipo también desarrollaron el protocolo.
Transcripción de la presentación:

Desarrollo de Aplicaciones en PHP con Ing. Casiva Agustin Juti 2009

Vamos a Ver... Que es Symfony ? Sus Partes – ORM – Routing – MVC – Organización – Generadores – Otros Nuestra Primer Aplicación

Que es Symfony? Es un Framework para PHP diseñado para optimizar el desarrollo de APLICACIONES WEB. Desarrollado por la empresa Francesa “Sensio Labs”. Open Source Maduro

Que es Symfony ? Separa las reglas de negocio, de la lógica del servidor y la presentación (MVC). Provee un gran numero de utilidades para simplificar las tareas del desarrollo. Automatiza un gran número de tareas permitiendo concentrarse en el desarrollo. Desarrollado en PHP 5, siguiendo buenas prácticas de desarrollo.

Que no es Symfony? No es una IDE. No es Gráfico. No es un Wizard. No programa por nosotros. No es la solución a todos sus problemas.

Quien Usa Symfony Yahoo Delicious Dailymotion

Otros Frameworks

Por que Elegirlo ? Mucha Documentación Muchos Usuarios Integración con otros frameworks Sigue Estándares Promete Mucho Buen diseño original y escalable.

Requerimientos Un Web Server (Apache, Lighttpd, IIS) Interprete de PHP 5 (5.2.3) Pear instalado y configurado correctamente. Librerías PDO según el RDBMS. RDBMS (MySQL).

Donde lo Consigo Descargo desde la Página del proyecto –

Preguntas ?

Basado en varias tecnologías ya probadas en el mercado

Principios de Diseño MVC : Model View Controler DRY : Dont Repeat Yourself KISS: Keep It Simple Stupid COC: Convention over Configuration ORM : Object Relational Mapping TDD: Test Driving Development ASD: Agile Software Development Patrones de Diseño Scaffolding

Las partes Principales

MVC

ORM Permite tratar los datos a través de objetos y dejar de lado el modelo relacional Ordena y Agiliza el Modelo de Datos. Nos Abstrae de la base de datos, pudiendo cambiar nuestro RDBMS en cuestión de Minutos Realiza las típicas tareas CRUD (Create Retrieval Update and Delete, en estos pagos ABM).

ORM (2) Actualmente se puede usar como ORM – Propel El viejo pero mas probado Basado en Torque – Doctrine La bedete, futura promesa Basado en Hibernate

Scaffolding Técnica de meta programación que permite a través de la definición del modelo de datos generar las operaciones de CRUD automáticamente Symfony ademas genera los formularios.

Routing Simplifica en linkeo de los elementos internos de la aplicación. Todo pasa por un punto de acceso, ese punto dispara la acción necesaria del modulo necesario. Posee un archivo de configuración para la definición de rutas.

Routing (2) Controlador Frontal (index.php) ModeloControladorVista executeAccion()Redirección Base Request M + A + P Response page.php/posts/view/id/233

Autoloading Evita tener que hacer include por cada uno de los elementos que tenemos que usar. Indexa todas las clases y localiza por convención donde deben estar los elementos.

YML Parser YML, es XML pero bien hecho. Nos provee una API para parsear documentos YML. Todo se define mediante documentos YML en Symfony

I18n y l10n I18n : Que el contenido se adapte al lenguaje del usuario. L10n: Que las etiquetas del programa se adapten al lenguaje del usuario. Soporte nativo para Localización e Internacionalización.

Helpers Funciones de PHP que devuelven etiquetas HTML y que pueden usarse en las templates. Facilitan la labor de escritura de los tags html. Todos HTML validados.

Helpers (2) Helpers Típicos – Manejo de Forms – Manejo de Links y Url's – Tags de Imágenes – Manejo de Cabeceras HTML – JavaScript – Controles de Fecha

Preguntas Vamos, Sin Miedo ?

Lo Bueno, Lo Malo y Lo Feo No todo es alegría

Lo Bueno! Agiliza el Desarrollo Estandariza y Organiza Generadores Facilita la Reutilización Fuerza a las buenas prácticas Gran Comunidad, Open Source Doc etc.

Lo Malo!!! Pequeños Proyectos Consume Muchos Recursos No sirve sin acceso Shell Es el Framework mas lento

Lo Feo Curva de Aprendizaje muuuy Prolongada Hay que leer y leer Requiere Altas Skills en PHP Ojo!, paga con creces cada minuto invertido en aprender a utilizarlo!

Preguntas Hasta el Momento ?

Un proyecto en Symfony

Un proyecto Proyecto – Modelo de Datos! – Las funcionalidades se materializan por medio de Aplicaciones Módulos

Organización de la Aplicación Proyecto – Librería del proyecto – Configuración General – Test – Web (Css, Js, Images, Uploads) – Aplicaciones Configuración Librerías Propias de la aplicación Traslaciones de Idioma (l10n) Módulos – Librerías del Modulo – Configuraciones – Lógica Master Pages

Organización de la aplicación (2) Provee estandarización en el desarrollo. Simplifica la comprensión de la aplicación Reduce la lógica de los métodos Facilita la re utilización del código

Veamos Symfony en Acción Para que no se duerman

Configurando e Instalando Bajar Symfony (Recomendado el Sandbox) y descomprimir Crear un nombre de Host Configurar el Vhost Crear una Base Hora de Empezar Veamos la configuración

El Schema Se define mediante archivos de Texto. Formato YML. Notación Abstracta al RDBMS. Define Tablas, Atributos, Relaciones, Restricciones. A Partir del Mismo se deriva el Modelo y se construye la DAL del proyecto.

DER como ejemplo El Schema en la IDE

El Modelo Con el Schema definido podemos generar el modelo. – propel:build-model Este genera las clases base con los métodos básicos y nos deja una estructura para extender dichas clases con las funcionalidades que nos hagan falta. Vamos a la IDE

Las aplicaciones Un proyecto puede tener varias aplicaciones Definir las aplicaciones depende de los usuarios a los que esta apuntada y la funcionalidad buscada en la aplicación. generate:app Generemos Aplicaciones

Los módulos Las aplicaciones se componen por módulos Conviene alinearlos con las clases del modelo. Estos poseen los controladores, utilizan el modelo, procesan la info y la derivan a la vista generate:module

Un Modulo Típico Actions – actions.class.php posee un método executeAccion1 Templates – accion1Success.php – accion1Error.php – accion2Success.php – _partial1.php Generemos Módulos

La Vista Templates Layouts Veamos las Vistas

Elementos de la Vista Parciales : Fragmento reutilizable para la vista vista.

Elementos de la Vista (2) Slots : Zona para el rellenado en la layout.

Preguntas Última Chance, Hable ahora o Calle para Siempre! ?

Como Seguir ?

Ayuda Para Seguir Site Oficial Foro Oficial Symfony-es Google

Gracias por su Tiempo! Críticas y Consultas a Eso es Todo Amigos!