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

Preview:

Citation preview

λIntroduccion a Symfony

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org

Universidad de la Frontera

05 de Octubre de 2009

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 1/1

λ

Indice

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 2/1

λ

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 - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 3/1

λ

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 - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 3/1

λ

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 - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 4/1

λ

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 - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 4/1

λ

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 - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 4/1

λ

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 - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 4/1

λ

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 - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 4/1

λ

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 - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 4/1

λ

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 - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 4/1

λ

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 - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 4/1

λ

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 - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 5/1

λ

MVC

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 6/1

λ

MVC

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 6/1

λ

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 - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 7/1

λ

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 - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 7/1

λ

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 - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 7/1

λ

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 - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 7/1

λ

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 - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 7/1

λ

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 - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 8/1

λ

Veamos ahora un ejemplo practico !!!

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

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 9/1

λ

El requerimiento es ...

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

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 10/1

λ

Diagrama de casos de uso

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 11/1

λ

Diagrama de casos de uso

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 11/1

λ

Modelo relacional

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 12/1

λ

Modelo relacional

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 12/1

λ

El arbol de directorios del proyecto

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 13/1

λ

El arbol de directorios del proyecto

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 13/1

λ

Estructura general

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 14/1

λ

Estructura general

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 14/1

λ

Encuentre las 8 diferencias ...

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 15/1

λ

Encuentre las 8 diferencias ...

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 15/1

λ

Encuentre las 8 diferencias ...

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 16/1

λ

Encuentre las 8 diferencias ...

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 16/1

λ

Encuentre las 8 diferencias ...

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 17/1

λ

Encuentre las 8 diferencias ...

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 17/1

λ

Encuentre las 8 diferencias ...

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 18/1

λ

Encuentre las 8 diferencias ...

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 18/1

λ

Encuentre las 8 diferencias ...

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 19/1

λ

Encuentre las 8 diferencias ...

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 19/1

λ

El patron decorator ...

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 20/1

λ

El patron decorator ...

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 20/1

λ

El patron decorator ...

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 21/1

λ

El patron decorator ...

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 21/1

λ

El patron decorator ...

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 22/1

λ

El patron decorator ...

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 22/1

λ

Funcionamiento de la capa modelo

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 23/1

λ

Funcionamiento de la capa modelo

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 23/1

λ

Fin

Gracias por su atencion

Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 24/1

λ

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 - gustavo@lacosox.org - http://lacosox.org — Introduccion a Symfony 25/1

Recommended