SlideShare una empresa de Scribd logo
1 de 36
Descargar para leer sin conexión
Introducción a Symfony2
          PHP


       Frameworks
¿QUIÉN SOY?

• Ariel   Ferrandini (11-11-1985)
• Técnico   superior en Administración de Sistemas Informáticos (FP)

• Estudiante   de adaptación a Grado de Ingeniería Informática

• Trabajando   en Neosistec desde 2006 ~ Head del equipo WEB

• Me   gusta programar, la pizza, la tecnología y publicar código! (Github)

• Trabajando   con Symfony desde 0.9.4beta
Protocolo http ~ https
200-Ok ~ 404-Not found ~ 500-Internal server error
My first webpage
¡¡¡Yo uso flat PHP!!!
http://www.miweb.com/index.php?modulo=contacta&op=enviar
Todo evoluciona

• Evolución   de PHP:

 • 1.0   ~ Rasmus Lerdorf (1994)

 • 3.0   ~ A.G. & Z.S. (1997)

 •   4.0 ~ 2000

 • 5.0   ~ 2004

 • 5.3   ~ 2011
¿El estado de PHP es el ideal?
¡NO!
¡PHP puede ser un lío!   ¡Por tu culpa!
¡¡¡Frameworks al rescate!!!
Symfony2 es un framework

• Routing                               • Internacionalización

• Sistema   de plantillas               • Envío   de correos
• Gestión   de formularios              • Gestión    de “assets”
• Gestión   de base de datos            • Sistema   de logs
• Sistema   de caché                    • Test   unitarios
• Sistema   de validación               • Contenedor     de servicios
• Gestión   de seguridad                • Ayuda    para depuración
                               2,9 MB
Symfony2 es rápido
• 20%      más rápido que Solar 1.0.0beta3
                                                                            ¡Es muy rápido!
• 60%      más rápido que Lithium 0.6
• 75%      más rápido que Yii 1.1.1
•2    veces más rápido que symfony 1.4.2
• 3.5    veces más rápido que Zend 1.10
• 5.5    veces más rápido que CakePHP 1.2.6
• 69    veces más rápido que Flow3 1.0.0alpha7

•   http://blog.newitfarmer.com/php/framework-php/1904/symfony2-performs-betterbetter-performance/
Symfony2 es seguro

• Enenero de 2011, SektionEins realizó una          ¡Es muy seguro!
 auditoría de seguridad ~ Versión beta

• Solo   8 bugs de seguridad mínima

• Ya   están solucionados



• http://symfony.com/blog/symfony2-security-audit
Symfony2 según Fabien Potencier

• “Symfony2   is a reusable set of standalone,
 decoupled, and cohesive PHP components
 that solve common web development
 problems”. ~ Fabien Potencier




http://fabien.potencier.org/article/49/what-is-symfony2
Symfony2 está construido con bundles




                                                     DependencyInjection




                                                                                                el
                                                                                 ne
                                     Con




                                                                                          rn
                                                                             ctri

                                                                                        Ke
                  Se
      Yam                                                                                          g




                                                                                      tp
                       cu


                                         fig




                                                                           Do
                                                                                                in




                                                                                    Ht
          l                                                                                    t

                          r   ity
                                                                                            ou          sole
                 Fin                                                                      R          on



                                       Va
                       de                                                                           C




                                                                                r
                                                                            ade
                                         lida
     Htt                  r
        pFo                     Fo                                                        ing




                                             tio




                                                                           sLo
            u   nda                 rm                                                plat                   her




                                                 n
                   tion                                                           em                 is patc




                                                                     s
                                                                                 T          entD




                                                                  Cla
                                                                                          Ev
Symfony2 está construido con bundles




                        tpccyInjection
              Htt          in g r
                    Fo platchg




                             r e
                Dependen tr der

                                    l
                   F nd  at n e




                                ne
                     SeVali
                 pFom i
                   Yaiiumt le

                          Ke in
                      Cu dnti
                   D srm
                   e peo

                     Do oa
                       coa o
              Ev  T nd  u ion
                ent nslrat
                     o
                     HtssL
                           rit fig
                  C o R
                              y
                    Cla
                                n
¿Qué es un bundle?
Definición de bundle
       •A   bundle, is a directory containing a set

        of files (PHP files, stylesheets, JavaScript,

        images, etc...), that implement a single

        feature (a blog, a forum, etc...). In

        Symfony2 (almost) everything lives

        inside a bundle.
¿Qué contiene un bundle?
• Controller   ~ Command

• Entity   ~ Repository

• Form

• Resources

• Test

• DependencyInjection
¿Empezamos con Symfony2?
Symfony2: Routing
• Localizar   a partir de la URL la acción que se tiene que ejecutar (Controller)

• Poner   nombres a las rutas para cambiarlas en un solo lugar

• Rutas   más legibles y fáciles de memorizar

• Mejora   el SEO

• Uso   de anotaciones
http://www.tiendademusica.com/show.php?artist=123&album=123
http://www.tiendademusica.com/artista/el-fari/grandes-exitos
Symfony2: Controller

• El   Controller es la C del patrón MVC

• Contiene las acciones que se deben
 ejecutar dependiendo de la ruta

• Pasar   parámetros a las vistas

• Generar    directamente la respuesta
Symfony2: Vistas ~ Twig

• Es   lo que ve el usuario final

• Generalmente     existe una vista para cada acción

• Separan    la presentación del negocio

• Reciben   los parámetros de las acciones

• Symfony2    integra el lenguaje de plantillas Twig

• Son   la V del patrón MVC
                                                       http://twig.sensiolabs.org
Symfony2: Twig

• echo   ~ {{ user.name }}

• Herencia: {%     extends %}

• Filtros: {{   user.date|date(‘d/m/Y’) }}

• Funciones: {{    myHelloWorld(“Ariel”) }}

• Macros:   {{ import “helper.html” as helper }}

• Muy    rápido. Las plantillas se precompilan a PHP.
Symfony2: Twig

• Twig   está lleno de utilidades.         Twig tiene for .. else ..

• Twig   es flexible

• Twig   es extensible

• Twig   es rápido

• Twig   es seguro

• Twig   viene por defecto en Symfony2
Symfony2: Modelo ~ Doctrine

• Nos   permite interactuar con la base de datos

• No    es necesario saber SQL

• Generador    de Entities y Repositories

• Totalmente   nuevo respecto a Doctrine1
                                                   http://www.doctrine-project.org
• Symfony2    integra Doctrine por defecto

• Es   la M del patrón MVC
Symfony2: Doctrine

•3   componentes independientes

• Doctrine    common

• Doctrine    DBAL

• Doctrine    ORM

• Integrado   como un Bundle Doctrine2Bundle
Symfony2: Doctrine

       • Doctrine   genera las Entities

       • Doctrine   YML/XML/PHP/Anntotations

       • Doctrine   integra relaciones

       • EntityManager   punto de acceso único ORM

       • Queries   complejas DQL QueryBuilder
Symfony2: Flow
¿Cómo instalar Symfony2?

• http://www.symfony.com

• Download   Now ~ SF2 SE .zip/.tgz

• Descomprime    en tu carpeta de Apache

• Configuración   config.php

• Prueba   el AcmeDemoBundle
Introducción a Symfony2
                  Agradecimientos
César Suárez ~ Buen amigo ~ @tharandur
Neosistec que me ha permitido crear PizzaNight
Javier Eguiluz ~ Creador libro Symfony2 Español ~ @javiereguiluz
Toda la comunidad DeSymfony
Siguientes pasos con Symfony2

        Desarrollo web ágil con Symfony2
        el primer libro del mundo publicado sobre Symfony2

        http://www.symfony.es

        http://www.symfony.com
Introducción a Symfony2
               ¿Preguntas?


                     No seas tímido


@aferrandini
Introducción a Symfony2

               ¡Muchas gracias!



@aferrandini

Más contenido relacionado

Destacado

Smarter Marketing for Better Results - Michael Berger
Smarter Marketing for Better Results - Michael BergerSmarter Marketing for Better Results - Michael Berger
Smarter Marketing for Better Results - Michael BergerMarketo
 
Proyecto regadío vegas bajas
Proyecto regadío vegas bajasProyecto regadío vegas bajas
Proyecto regadío vegas bajasppmarmolejo
 
10 große fehler bei der niederlassung
10 große fehler bei der niederlassung10 große fehler bei der niederlassung
10 große fehler bei der niederlassungMicha Brex
 
Encontrar a informação na Biblioteca do DARQ
Encontrar a informação na Biblioteca do DARQEncontrar a informação na Biblioteca do DARQ
Encontrar a informação na Biblioteca do DARQformaticefa
 
Comic Zeal : La mejor aplicación para leer comic en IPad
Comic Zeal : La mejor aplicación para leer comic en IPadComic Zeal : La mejor aplicación para leer comic en IPad
Comic Zeal : La mejor aplicación para leer comic en IPadJulio Alonso Arévalo
 
IPMS experience sharing workshop: Cattle fattening group report
IPMS experience sharing workshop: Cattle fattening group reportIPMS experience sharing workshop: Cattle fattening group report
IPMS experience sharing workshop: Cattle fattening group reportILRI
 
Aeonex Group: Portfolio
Aeonex Group: PortfolioAeonex Group: Portfolio
Aeonex Group: Portfolioaeonexgroup
 
Drones yuneec baratos oferta
Drones yuneec baratos ofertaDrones yuneec baratos oferta
Drones yuneec baratos ofertaJose Luis Gago
 
Outcomes 1 elementary_vb
Outcomes 1 elementary_vbOutcomes 1 elementary_vb
Outcomes 1 elementary_vbValero Jose
 
Mantenimiento y mejora del S.A.C ISO 90012008 en el CC-GMM
Mantenimiento y mejora del S.A.C ISO 90012008 en el CC-GMMMantenimiento y mejora del S.A.C ISO 90012008 en el CC-GMM
Mantenimiento y mejora del S.A.C ISO 90012008 en el CC-GMMLuis Angel Carmona Limon
 
Nourrir la planète en 2030 2050
Nourrir la planète en 2030 2050Nourrir la planète en 2030 2050
Nourrir la planète en 2030 2050QSEC
 
European Communication Monitor 2008 - ECM 2008 - Results
European Communication Monitor 2008 - ECM 2008 - ResultsEuropean Communication Monitor 2008 - ECM 2008 - Results
European Communication Monitor 2008 - ECM 2008 - ResultsCommunication Monitor
 
Reseña historica del Pauji San felipe estado yaracuy
Reseña historica del Pauji San felipe estado yaracuyReseña historica del Pauji San felipe estado yaracuy
Reseña historica del Pauji San felipe estado yaracuyKimberlyn Piñeros Herrera
 

Destacado (20)

Smarter Marketing for Better Results - Michael Berger
Smarter Marketing for Better Results - Michael BergerSmarter Marketing for Better Results - Michael Berger
Smarter Marketing for Better Results - Michael Berger
 
Roma consulting uk rev16
Roma consulting uk rev16Roma consulting uk rev16
Roma consulting uk rev16
 
Proyecto regadío vegas bajas
Proyecto regadío vegas bajasProyecto regadío vegas bajas
Proyecto regadío vegas bajas
 
Conrad McRae
Conrad McRaeConrad McRae
Conrad McRae
 
10 große fehler bei der niederlassung
10 große fehler bei der niederlassung10 große fehler bei der niederlassung
10 große fehler bei der niederlassung
 
Bondia Lleida 30082011
Bondia Lleida 30082011Bondia Lleida 30082011
Bondia Lleida 30082011
 
Tiburones krd
Tiburones krdTiburones krd
Tiburones krd
 
Silabo mundologia
Silabo mundologia Silabo mundologia
Silabo mundologia
 
Encontrar a informação na Biblioteca do DARQ
Encontrar a informação na Biblioteca do DARQEncontrar a informação na Biblioteca do DARQ
Encontrar a informação na Biblioteca do DARQ
 
Business Voice August 2011
Business Voice August 2011Business Voice August 2011
Business Voice August 2011
 
Comic Zeal : La mejor aplicación para leer comic en IPad
Comic Zeal : La mejor aplicación para leer comic en IPadComic Zeal : La mejor aplicación para leer comic en IPad
Comic Zeal : La mejor aplicación para leer comic en IPad
 
IPMS experience sharing workshop: Cattle fattening group report
IPMS experience sharing workshop: Cattle fattening group reportIPMS experience sharing workshop: Cattle fattening group report
IPMS experience sharing workshop: Cattle fattening group report
 
Aeonex Group: Portfolio
Aeonex Group: PortfolioAeonex Group: Portfolio
Aeonex Group: Portfolio
 
Drones yuneec baratos oferta
Drones yuneec baratos ofertaDrones yuneec baratos oferta
Drones yuneec baratos oferta
 
Outcomes 1 elementary_vb
Outcomes 1 elementary_vbOutcomes 1 elementary_vb
Outcomes 1 elementary_vb
 
Mantenimiento y mejora del S.A.C ISO 90012008 en el CC-GMM
Mantenimiento y mejora del S.A.C ISO 90012008 en el CC-GMMMantenimiento y mejora del S.A.C ISO 90012008 en el CC-GMM
Mantenimiento y mejora del S.A.C ISO 90012008 en el CC-GMM
 
Nourrir la planète en 2030 2050
Nourrir la planète en 2030 2050Nourrir la planète en 2030 2050
Nourrir la planète en 2030 2050
 
European Communication Monitor 2008 - ECM 2008 - Results
European Communication Monitor 2008 - ECM 2008 - ResultsEuropean Communication Monitor 2008 - ECM 2008 - Results
European Communication Monitor 2008 - ECM 2008 - Results
 
Reseña historica del Pauji San felipe estado yaracuy
Reseña historica del Pauji San felipe estado yaracuyReseña historica del Pauji San felipe estado yaracuy
Reseña historica del Pauji San felipe estado yaracuy
 
Cartilla final[1]
Cartilla final[1]Cartilla final[1]
Cartilla final[1]
 

Similar a Introducción a Symfony2

Opinión documentada
Opinión documentadaOpinión documentada
Opinión documentadabelenxu2309
 
Poet Software: The All-in-One Brand Book
Poet Software: The All-in-One Brand BookPoet Software: The All-in-One Brand Book
Poet Software: The All-in-One Brand BookUwe Lucas
 
Moodle 1.9 Configuración del curso
Moodle 1.9  Configuración del cursoMoodle 1.9  Configuración del curso
Moodle 1.9 Configuración del cursoRamón OVELAR
 
Prueba única de informática anderson cardona
Prueba única de informática anderson cardonaPrueba única de informática anderson cardona
Prueba única de informática anderson cardonaandercardona
 
Prueba única de informática anderson cardona
Prueba única de informática anderson cardonaPrueba única de informática anderson cardona
Prueba única de informática anderson cardonaandercardona
 

Similar a Introducción a Symfony2 (8)

Opinión documentada
Opinión documentadaOpinión documentada
Opinión documentada
 
Poet Software: The All-in-One Brand Book
Poet Software: The All-in-One Brand BookPoet Software: The All-in-One Brand Book
Poet Software: The All-in-One Brand Book
 
Moodle 1.9 Configuración del curso
Moodle 1.9  Configuración del cursoMoodle 1.9  Configuración del curso
Moodle 1.9 Configuración del curso
 
Equipo n° 6
Equipo n° 6Equipo n° 6
Equipo n° 6
 
Equipo n° 6
Equipo n° 6Equipo n° 6
Equipo n° 6
 
Equipo n° 6
Equipo n° 6Equipo n° 6
Equipo n° 6
 
Prueba única de informática anderson cardona
Prueba única de informática anderson cardonaPrueba única de informática anderson cardona
Prueba única de informática anderson cardona
 
Prueba única de informática anderson cardona
Prueba única de informática anderson cardonaPrueba única de informática anderson cardona
Prueba única de informática anderson cardona
 

Último

ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 

Último (20)

ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 

Introducción a Symfony2

  • 1. Introducción a Symfony2 PHP Frameworks
  • 2. ¿QUIÉN SOY? • Ariel Ferrandini (11-11-1985) • Técnico superior en Administración de Sistemas Informáticos (FP) • Estudiante de adaptación a Grado de Ingeniería Informática • Trabajando en Neosistec desde 2006 ~ Head del equipo WEB • Me gusta programar, la pizza, la tecnología y publicar código! (Github) • Trabajando con Symfony desde 0.9.4beta
  • 3. Protocolo http ~ https 200-Ok ~ 404-Not found ~ 500-Internal server error
  • 5. ¡¡¡Yo uso flat PHP!!! http://www.miweb.com/index.php?modulo=contacta&op=enviar
  • 6. Todo evoluciona • Evolución de PHP: • 1.0 ~ Rasmus Lerdorf (1994) • 3.0 ~ A.G. & Z.S. (1997) • 4.0 ~ 2000 • 5.0 ~ 2004 • 5.3 ~ 2011
  • 7. ¿El estado de PHP es el ideal?
  • 9. ¡PHP puede ser un lío! ¡Por tu culpa!
  • 11. Symfony2 es un framework • Routing • Internacionalización • Sistema de plantillas • Envío de correos • Gestión de formularios • Gestión de “assets” • Gestión de base de datos • Sistema de logs • Sistema de caché • Test unitarios • Sistema de validación • Contenedor de servicios • Gestión de seguridad • Ayuda para depuración 2,9 MB
  • 12. Symfony2 es rápido • 20% más rápido que Solar 1.0.0beta3 ¡Es muy rápido! • 60% más rápido que Lithium 0.6 • 75% más rápido que Yii 1.1.1 •2 veces más rápido que symfony 1.4.2 • 3.5 veces más rápido que Zend 1.10 • 5.5 veces más rápido que CakePHP 1.2.6 • 69 veces más rápido que Flow3 1.0.0alpha7 • http://blog.newitfarmer.com/php/framework-php/1904/symfony2-performs-betterbetter-performance/
  • 13. Symfony2 es seguro • Enenero de 2011, SektionEins realizó una ¡Es muy seguro! auditoría de seguridad ~ Versión beta • Solo 8 bugs de seguridad mínima • Ya están solucionados • http://symfony.com/blog/symfony2-security-audit
  • 14. Symfony2 según Fabien Potencier • “Symfony2 is a reusable set of standalone, decoupled, and cohesive PHP components that solve common web development problems”. ~ Fabien Potencier http://fabien.potencier.org/article/49/what-is-symfony2
  • 15. Symfony2 está construido con bundles DependencyInjection el ne Con rn ctri Ke Se Yam g tp cu fig Do in Ht l t r ity ou sole Fin R on Va de C r ade lida Htt r pFo Fo ing tio sLo u nda rm plat her n tion em is patc s T entD Cla Ev
  • 16. Symfony2 está construido con bundles tpccyInjection Htt in g r Fo platchg r e Dependen tr der l F nd at n e ne SeVali pFom i Yaiiumt le Ke in Cu dnti D srm e peo Do oa coa o Ev T nd u ion ent nslrat o HtssL rit fig C o R y Cla n
  • 17. ¿Qué es un bundle?
  • 18. Definición de bundle •A bundle, is a directory containing a set of files (PHP files, stylesheets, JavaScript, images, etc...), that implement a single feature (a blog, a forum, etc...). In Symfony2 (almost) everything lives inside a bundle.
  • 19. ¿Qué contiene un bundle? • Controller ~ Command • Entity ~ Repository • Form • Resources • Test • DependencyInjection
  • 21. Symfony2: Routing • Localizar a partir de la URL la acción que se tiene que ejecutar (Controller) • Poner nombres a las rutas para cambiarlas en un solo lugar • Rutas más legibles y fáciles de memorizar • Mejora el SEO • Uso de anotaciones
  • 24. Symfony2: Controller • El Controller es la C del patrón MVC • Contiene las acciones que se deben ejecutar dependiendo de la ruta • Pasar parámetros a las vistas • Generar directamente la respuesta
  • 25. Symfony2: Vistas ~ Twig • Es lo que ve el usuario final • Generalmente existe una vista para cada acción • Separan la presentación del negocio • Reciben los parámetros de las acciones • Symfony2 integra el lenguaje de plantillas Twig • Son la V del patrón MVC http://twig.sensiolabs.org
  • 26. Symfony2: Twig • echo ~ {{ user.name }} • Herencia: {% extends %} • Filtros: {{ user.date|date(‘d/m/Y’) }} • Funciones: {{ myHelloWorld(“Ariel”) }} • Macros: {{ import “helper.html” as helper }} • Muy rápido. Las plantillas se precompilan a PHP.
  • 27. Symfony2: Twig • Twig está lleno de utilidades. Twig tiene for .. else .. • Twig es flexible • Twig es extensible • Twig es rápido • Twig es seguro • Twig viene por defecto en Symfony2
  • 28. Symfony2: Modelo ~ Doctrine • Nos permite interactuar con la base de datos • No es necesario saber SQL • Generador de Entities y Repositories • Totalmente nuevo respecto a Doctrine1 http://www.doctrine-project.org • Symfony2 integra Doctrine por defecto • Es la M del patrón MVC
  • 29. Symfony2: Doctrine •3 componentes independientes • Doctrine common • Doctrine DBAL • Doctrine ORM • Integrado como un Bundle Doctrine2Bundle
  • 30. Symfony2: Doctrine • Doctrine genera las Entities • Doctrine YML/XML/PHP/Anntotations • Doctrine integra relaciones • EntityManager punto de acceso único ORM • Queries complejas DQL QueryBuilder
  • 32. ¿Cómo instalar Symfony2? • http://www.symfony.com • Download Now ~ SF2 SE .zip/.tgz • Descomprime en tu carpeta de Apache • Configuración config.php • Prueba el AcmeDemoBundle
  • 33. Introducción a Symfony2 Agradecimientos César Suárez ~ Buen amigo ~ @tharandur Neosistec que me ha permitido crear PizzaNight Javier Eguiluz ~ Creador libro Symfony2 Español ~ @javiereguiluz Toda la comunidad DeSymfony
  • 34. Siguientes pasos con Symfony2 Desarrollo web ágil con Symfony2 el primer libro del mundo publicado sobre Symfony2 http://www.symfony.es http://www.symfony.com
  • 35. Introducción a Symfony2 ¿Preguntas? No seas tímido @aferrandini
  • 36. Introducción a Symfony2 ¡Muchas gracias! @aferrandini