51
λ Introducci ´ on a Symfony Gustavo Lacoste - [email protected] - http://lacosox.org Universidad de la Frontera 05 de Octubre de 2009 Gustavo Lacoste - [email protected] - http://lacosox.org — Introducci´ on a Symfony 1/1

Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

Embed Size (px)

Citation preview

Page 1: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λIntroduccion a Symfony

Gustavo Lacoste - [email protected] - http://lacosox.org

Universidad de la Frontera

05 de Octubre de 2009

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 1/1

Page 2: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Indice

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 2/1

Page 3: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Que es PHP

Es un lenguaje para programar scripts del lado del servidor, quese incrustan dentro del codigo HTML.Dado que php se ejecuta del lado del servidor usualmente loutilizamos para gestionar lo que llamamos la ”logica del negocio”.

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 3/1

Page 4: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Que es PHP

Es un lenguaje para programar scripts del lado del servidor, quese incrustan dentro del codigo HTML.Dado que php se ejecuta del lado del servidor usualmente loutilizamos para gestionar lo que llamamos la ”logica del negocio”.

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 3/1

Page 5: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Exigencias del desarrollo web actual

Estandarizacion w3c

Mantenibilidad

Eslabilidad

Usablilidad

Optimos

Adaptarse con el menor esfuerzo a un nuevo requerimiento

Facilitar la deteccion solucion de errores

Viables a corto plazo :s

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 4/1

Page 6: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Exigencias del desarrollo web actual

Estandarizacion w3c

Mantenibilidad

Eslabilidad

Usablilidad

Optimos

Adaptarse con el menor esfuerzo a un nuevo requerimiento

Facilitar la deteccion solucion de errores

Viables a corto plazo :s

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 4/1

Page 7: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Exigencias del desarrollo web actual

Estandarizacion w3c

Mantenibilidad

Eslabilidad

Usablilidad

Optimos

Adaptarse con el menor esfuerzo a un nuevo requerimiento

Facilitar la deteccion solucion de errores

Viables a corto plazo :s

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 4/1

Page 8: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Exigencias del desarrollo web actual

Estandarizacion w3c

Mantenibilidad

Eslabilidad

Usablilidad

Optimos

Adaptarse con el menor esfuerzo a un nuevo requerimiento

Facilitar la deteccion solucion de errores

Viables a corto plazo :s

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 4/1

Page 9: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Exigencias del desarrollo web actual

Estandarizacion w3c

Mantenibilidad

Eslabilidad

Usablilidad

Optimos

Adaptarse con el menor esfuerzo a un nuevo requerimiento

Facilitar la deteccion solucion de errores

Viables a corto plazo :s

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 4/1

Page 10: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Exigencias del desarrollo web actual

Estandarizacion w3c

Mantenibilidad

Eslabilidad

Usablilidad

Optimos

Adaptarse con el menor esfuerzo a un nuevo requerimiento

Facilitar la deteccion solucion de errores

Viables a corto plazo :s

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 4/1

Page 11: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Exigencias del desarrollo web actual

Estandarizacion w3c

Mantenibilidad

Eslabilidad

Usablilidad

Optimos

Adaptarse con el menor esfuerzo a un nuevo requerimiento

Facilitar la deteccion solucion de errores

Viables a corto plazo :s

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 4/1

Page 12: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Exigencias del desarrollo web actual

Estandarizacion w3c

Mantenibilidad

Eslabilidad

Usablilidad

Optimos

Adaptarse con el menor esfuerzo a un nuevo requerimiento

Facilitar la deteccion solucion de errores

Viables a corto plazo :s

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 4/1

Page 13: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Frameworks

Un framework es un marco de trabajo disenado para facilitar eldesarrollo proporcionando tareas recorrentes y aburridas de una

manera facil u automatizada.Symfony es un framework para desarrollar aplicaciones en php.

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 5/1

Page 14: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

MVC

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 6/1

Page 15: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

MVC

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 6/1

Page 16: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Desarrollo rapido y de mejor calidad

Menos codigo

Menos complejidad

Menores Bugs

Mas Productividad

Mas tiempo

Es preferible invertir el tiempo en entender el problema, definirreglas de negocio, planificar pruebas , etc ...

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 7/1

Page 17: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Desarrollo rapido y de mejor calidad

Menos codigo

Menos complejidad

Menores Bugs

Mas Productividad

Mas tiempo

Es preferible invertir el tiempo en entender el problema, definirreglas de negocio, planificar pruebas , etc ...

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 7/1

Page 18: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Desarrollo rapido y de mejor calidad

Menos codigo

Menos complejidad

Menores Bugs

Mas Productividad

Mas tiempo

Es preferible invertir el tiempo en entender el problema, definirreglas de negocio, planificar pruebas , etc ...

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 7/1

Page 19: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Desarrollo rapido y de mejor calidad

Menos codigo

Menos complejidad

Menores Bugs

Mas Productividad

Mas tiempo

Es preferible invertir el tiempo en entender el problema, definirreglas de negocio, planificar pruebas , etc ...

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 7/1

Page 20: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Desarrollo rapido y de mejor calidad

Menos codigo

Menos complejidad

Menores Bugs

Mas Productividad

Mas tiempo

Es preferible invertir el tiempo en entender el problema, definirreglas de negocio, planificar pruebas , etc ...

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 7/1

Page 21: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

El costo de vivir en el pasado

Cinicial =∑n

i=1 Cdesarollo +∑n

i=1 Ctesting

Cmantencion ≥≥≥ Cinicial

Cmantencion =∑n

i=1 Ccomprension +∑n

i=1 Ccambio +∑ni=1 Ctesting +

∑ni=1 Cimplementacion

Es preferible invertir tiempo en escribir un codigo entendidble yestandarizado para el cual se podran conseguir programadoresque entendran esta logica de manera facil en el futuro.

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 8/1

Page 22: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Veamos ahora un ejemplo practico !!!

Ejemplo en vivo,¿hay alguna duda hasta el momento?

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 9/1

Page 23: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

El requerimiento es ...

Crear un sitio para gestionar el arriendo de la mesa de ping-pongdel centro de alumnos de ing. informatica.

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 10/1

Page 24: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Diagrama de casos de uso

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 11/1

Page 25: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Diagrama de casos de uso

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 11/1

Page 26: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Modelo relacional

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 12/1

Page 27: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Modelo relacional

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 12/1

Page 28: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

El arbol de directorios del proyecto

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 13/1

Page 29: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

El arbol de directorios del proyecto

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 13/1

Page 30: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Estructura general

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 14/1

Page 31: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Estructura general

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 14/1

Page 32: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Encuentre las 8 diferencias ...

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 15/1

Page 33: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Encuentre las 8 diferencias ...

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 15/1

Page 34: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Encuentre las 8 diferencias ...

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 16/1

Page 35: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Encuentre las 8 diferencias ...

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 16/1

Page 36: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Encuentre las 8 diferencias ...

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 17/1

Page 37: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Encuentre las 8 diferencias ...

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 17/1

Page 38: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Encuentre las 8 diferencias ...

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 18/1

Page 39: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Encuentre las 8 diferencias ...

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 18/1

Page 40: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Encuentre las 8 diferencias ...

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 19/1

Page 41: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Encuentre las 8 diferencias ...

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 19/1

Page 42: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

El patron decorator ...

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 20/1

Page 43: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

El patron decorator ...

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 20/1

Page 44: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

El patron decorator ...

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 21/1

Page 45: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

El patron decorator ...

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 21/1

Page 46: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

El patron decorator ...

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 22/1

Page 47: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

El patron decorator ...

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 22/1

Page 48: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Funcionamiento de la capa modelo

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 23/1

Page 49: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Funcionamiento de la capa modelo

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 23/1

Page 50: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Fin

Gracias por su atencion

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 24/1

Page 51: Introducción a Symfony Universidad de la Frontera 2009 - OpenSystem

λ

Licencia

Usted es libre de:

copiar, distribuir y comunicar publicamente la obra

hacer obras derivadas

Bajo las condiciones siguientes:

Reconocimiento. Debe reconocer los creditos de la obra de la man-era especificada por el autor o el licenciador (pero no de una man-era que sugiera que tiene su apoyo o apoyan el uso que hace de suobra).Compartir bajo la misma licencia. Si transforma o modifica estaobra para crear una obra derivada, solo puede distribuir la obra re-sultante bajo la misma licencia, una similar o una compatible. Masinfo: http://creativecommons.org/licenses/by-sa/2.0/cl/

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a Symfony 25/1