La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "Desarrollo de Aplicaciones en PHP con Ing. Casiva Agustin Juti 2009."— Transcripción de la presentación:

1 Desarrollo de Aplicaciones en PHP con Ing. Casiva Agustin casivaagustin@gmail.com Juti 2009

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

3 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

4 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.

5 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.

6 Quien Usa Symfony Yahoo Delicious Dailymotion

7 Otros Frameworks

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

9 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).

10 Donde lo Consigo Descargo desde la Página del proyecto – http://www.symfony-project.org/

11 Preguntas ?

12 Basado en varias tecnologías ya probadas en el mercado

13 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

14 Las partes Principales

15 MVC

16 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).

17 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

18 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.

19 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.

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

21 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.

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

23 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.

24 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.

25 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

26 Preguntas Vamos, Sin Miedo ?

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

28 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.

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

30 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!

31 Preguntas Hasta el Momento ?

32 Un proyecto en Symfony

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

34 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

35 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

36 Veamos Symfony en Acción Para que no se duerman

37 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

38 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.

39 DER como ejemplo El Schema en la IDE

40 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

41 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

42 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

43 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

44 La Vista Templates Layouts Veamos las Vistas

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

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

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

48 Como Seguir ?

49 Ayuda Para Seguir Site Oficial Foro Oficial Symfony-es Google

50 Gracias por su Tiempo! Críticas y Consultas a casivaagustin@gmail.com Eso es Todo Amigos!


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

Presentaciones similares


Anuncios Google