Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porÁngela Ponce Revuelta Modificado hace 8 años
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!
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.