SlideShare une entreprise Scribd logo
1  sur  26
Introducción a Symfony
      Framework
  Ejemplo práctico, project setup,
     MVC, routing y doctrine.



                           Disertante:
presentación
                                                           comunidad
¿Quiénes somos?



Colaboradores:                   Objetivo del seminario:
  •   Excedesoft S.A.
  •   Lic. Fabian Castillo         Demostrar los conceptos involucrados en
  •   Ing. Emiliano Viada           la creación de una aplicación symfony
                                                    inicial.
Destinatarios:
  •   Estudiantes
  •   Profesionales
  •   Empresas - Instituciones
                                             Disertante:
•   Introducción a Symfony                                        Contenido
    •   Definición oficial de Framework.
    •   Alguna razones para la elección de symfony.                       (temario)
    •   Features importantes


•   Alcance del ejemplo
    •   Entorno de trabajo, componentes y funcionamiento


•   Instalación y configuración de una applicación
    •   Entorno de trabajo, componentes y funcionamiento
    •   Configuración
    •   Arranque de la aplicación


•   Conceptos y estructura del framework
    •   Capas y organización de física
    •   Concepto Aplicación, Modulo, Template, Layout, ..


•   Arquitectura MVC
•   Routing
•   Layout..
•   ORM – Doctrine
•   Personalización - Estilos
                                                            Disertante:
¿Qué es symfony framework?

Definición del sitio oficial:

              “Symfony is a web application
                framework for PHP projects.It
                aims to speed up the creation
                and maintenance of web
                applications, and to replace the
                repetitive coding tasks by
                power, control and pleasure”

                                Disertante:
Beneficios del framework
• Librerías, componentes y herramientas
  reutilizables.
• Proveer una arquitectura madura, experiencias
  y conocimiento.
• Provee dirección y límites al programador.
• Paradigma de convención
Objetivo:
• Construcción de aplicaciones complejas,
  rápidamente
• Prepararnos para el futuro, escalabilidad y
  mantenabilidad.
                                Disertante:
Algunas razones para elegir
Symfony
1.   “Escalable”                                     excelente esfuerzo.
     Yahoo lo usa con aplicaciones de 200       7.   “Nivel de madures”
     millones de usuarios.                           En 5 lenguajes, multiples libros gratis,
2.   “LTS”                                           excelente esfuerzo.
     (Long term support) 3 años.                8.   “Compromiso”.
3.   “Seguro”.                                       SensioLab lo usa, prueba y extiende en
                                                     base a casos reales.
     (xss, csrf, sql injection, etc)
4.   “Licencia MIT”
     permite desarrollar aplicaciones
     comerciales, gratuitas y/o libre.
5.   “Calidad”.
     9000 unidades de testeo.
6.   “Documentación”
     En 5 lenguajes, multiples libros gratis,



                                                               Disertante:
Features de un framework web
Arquitecturalmente:                • Web-services
• Application controller, Filter   • Ajax Integration
• Enrutamiento                     • Unit-testing
• MVC
• Doctrine ORM                     Cualidades:
                                   • Configurable
Componentes:                       • Performante
                                     •
• App.Setting                            Caching
                                     •   Gestión de session
• Forms
                                   • Seguro
• Swift mailer
                                   • Productivo
• Tasks                              •   Comandos generadores
• I18n y l10n                      • Gestión de entornos

                                              Disertante:
• Generate-admin
Aplicación
                                          Alcance




Definición del alcance del ejemplo




                            Disertante:
Alcance del ejemplo
                    Casos de uso:

                •   Landing page
Actor
                •   Consulta datos de contacto
                •   Consulta quienes somos
                •   Consulta los post recientes
VISITANTE
                •   Comenta un post
                •   Publica su post
Dominio
            1
                *
     Post            Comentario



                                             Disertante:
Sf Setup
                                    Paso a Paso




Explicación de los componentes,
 funcionamiento y configuración




                          Disertante:
Entorno de desarrollo
 Componentes             Funcionamiento

          Apache               local.myblog.com
                                                              127.0.0.1

                                                    request
                                    Browser                   Apache
                                                              Server

                                     Editor
                   Developer         PHP
                                                              CARPETA


                                       /var/www/myBlog/project/web
                                       Index.php


   Instaladores           Elementos:
                          • Host (ip)                • Virtual host
                          • URL                      • Aplicación
                                              Disertante:
Configuración
1.   Bajar el Sandbox 1.4.x del sitio
     oficial
2.   Descomprimir Sandbox
3.   Renombro sandbox a myblog                            Local host
4.   Configurar el local & virtual hosts                  /etc/hosts
5.   Reiniciar el servidor apache                         127.0.0.1 local.myblog.com
6.   Crear base de datos y usuario
7.   Configurar db creds en symfony
                                       Virtual Host
                                       /apache/extra/conf/httpd-vhosts.conf
Base de Datos
http://localhost/phpmyadmin            <VirtualHost *:80>
                                         ServerName local.myblog.com
                                         DocumentRoot "/var/www/myBlog/project/web"
 -   Base de datos myblog_dev            <Directory "/var/www/myBlog/project/web">
                                           Options Indexes FollowSymLinks Includes ExecCGI
 -   Usuario myblog_dev                    AllowOverride All
                                           Order allow,deny
 -   Edicion de credenciales en:           Allow from all
                                         </Directory>
 -   project/config/database.yml       </VirtualHost>
                                        Alias /sf /var/www/myblog/lib/vendor/symfony/data/web/sf
                                        <Directory "/var/www/myblog/lib/vendor/symfony/data/web/sf">
                                            AllowOverride All
                                            Allow from All Disertante:
                                         </Directory>
Disertante:
Bienvenidos
                                         a Symfony




Explicación de las convenciones y
  organización de la aplicación




                           Disertante:
Estructura del framework
• Estructura del proyecto symfony
 •   Convenciones
 •   Organización de capas y archivos.
• Arquitectura MVC
 •   Application, Module, Actions, Templates
 •   Layouts
• Scarfolding y comandos symfony



                                               Disertante:
Capas y organización física
Arquitectura
                                                                                         CCS, JS,
                        Frontend Front Controller          Mob. FC         BE F.C
                                                                                         Images,



                           Layout                Layout

               Templ       Templ     Templ       Tempo               API
               Action      Action    Action      Action
                                                                Web Services
                           Modulo                Modulo

                          Frontend Application              Mobile         Backend


                                      Form
                   Model                         Vendors   Widgets         Task
                                        s
                                                    Lib

                                                                                     -

                                                 core

               OS +Apache + MySql                                     Disertante:
Coding
                                     inicial




Demostración paso a paso.




                      Disertante:
Ejemplo
•   Crear modulo “content”
    ./symfony generate:module frontend content

•   Crear action “home”
    •   Setear una variable
        $this->fecha = date('d/m/Y');

•   Imprimir mensaje de bienvenida en vista
    <h1>Symfony-Community Blog</h1>
    <hr/>
    <h2>Bienvenido al blog de la comunidad</h2>
    Ultima Actualización: <?php echo $fecha; ?>


    (Demostración en IDE – browser)

    http://local.myblog.com/frontend_dev.php/content/home



                                                            Disertante:
Arquitectura MVC
                    en symfony
 frontend_dev.php/content/home      Apache
                          request   Server
                Browser
                                                Front Controller
                           result



        Usuario                              Action          Layout


                                             Model          Template



• Controller                     = Front Controller + Action
• Model                          = Clases de Dominio (Lib/Model)
• View                           = Template + Layout
                                                  Disertante:
Routing
• Concepto
  •   Mapear un requerimiento (url)
      a una acción. (Caso de Uso)
                                                Front Controller
• Definición                                 routing
  •   /config/route.yml
                                          Action             Layout
• Utilización desde la vista
  •   url_for() helper
                                          Model             Template
• Rutas por defecto
  •   Homepage


  (Creamos las páginas de Contáctenos y Quienes
  Somos para demostrar en IDE – browser )
                                      Disertante:
Layout
• Concepto y demostración
• Partes del layout




• Two step view (Pattern) – vista en dos pasos




                                            Disertante:
Schema – Dominio - Doctrine
• Concepto
  •   Entidad, Relación.
• Definición
  •   /config/doctrine/schema.yml
• Scaffolding
  •   Clases autogeneradas
• Utilización del dominio desde la acción.
  •   Doctrine::getTable(“xx”)->findAll(); ->findBy*(); etc.
• Behaviours populares
  •   Timestampable, Slugable, vertinable


  (Creamos el módulo Post para demostrar en IDE
  – browser )                    Disertante:
Web – Recursos estáticos
• Explicación de la carpeta web
 • CSS
 • Imágenes
 • Javascripts
• Maquetación
 • Personalizar estilo de blog.




                                  Disertante:
Gracias




Disertante:
Descargas
- www.symfony-community.com
- https://github.com/Symfony-Community/myblog.git




                                    Disertante:
Colaboración
Muchas Gracias
www.symfony-community.com




                        Disertante:

Contenu connexe

Similaire à Symfony-Community: Introducción a Symfony Framework

Herramientas y Tecnologías para la Web
Herramientas y Tecnologías para la WebHerramientas y Tecnologías para la Web
Herramientas y Tecnologías para la WebErick David Juarez
 
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...OpenExpoES
 
Automatización del despliegue de aplicaciones multi cloud
Automatización del despliegue de aplicaciones multi cloudAutomatización del despliegue de aplicaciones multi cloud
Automatización del despliegue de aplicaciones multi cloudSoftware Guru
 
Buenas Prácticas para la Construcción de Aplicaciones de Software
Buenas Prácticas para la Construcción de Aplicaciones de SoftwareBuenas Prácticas para la Construcción de Aplicaciones de Software
Buenas Prácticas para la Construcción de Aplicaciones de SoftwareJorge Alvarez
 
Introducción al desarrollo web moderno
Introducción al desarrollo web modernoIntroducción al desarrollo web moderno
Introducción al desarrollo web modernoSebastián Rocco
 
Symfony2 Introducción
Symfony2 IntroducciónSymfony2 Introducción
Symfony2 Introducciónstrate
 
Programación web
Programación webProgramación web
Programación weberic291285
 
Introduccion a Elastic Beanstalk AWS Roadshow Bogota Mexico
Introduccion a Elastic Beanstalk   AWS Roadshow Bogota MexicoIntroduccion a Elastic Beanstalk   AWS Roadshow Bogota Mexico
Introduccion a Elastic Beanstalk AWS Roadshow Bogota MexicoHermann Pais
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidadRaelyx Cordero
 
Instalacion dreamviewer
Instalacion dreamviewerInstalacion dreamviewer
Instalacion dreamviewerWilman Kdnita
 
Frameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsFrameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsEsteban Saavedra
 
Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...
Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...
Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...Leonardo J. Caballero G.
 
Desarrollando aplicaciones empresariales con Xamarin.Forms, Docker, MVVM y ....
Desarrollando aplicaciones empresariales con Xamarin.Forms, Docker, MVVM y  ....Desarrollando aplicaciones empresariales con Xamarin.Forms, Docker, MVVM y  ....
Desarrollando aplicaciones empresariales con Xamarin.Forms, Docker, MVVM y ....Yhorby Matias
 

Similaire à Symfony-Community: Introducción a Symfony Framework (20)

Herramientas y Tecnologías para la Web
Herramientas y Tecnologías para la WebHerramientas y Tecnologías para la Web
Herramientas y Tecnologías para la Web
 
¿Cómo elegir servidor web?
¿Cómo elegir servidor web?¿Cómo elegir servidor web?
¿Cómo elegir servidor web?
 
Cómo elegir un servidor Web
Cómo elegir un servidor WebCómo elegir un servidor Web
Cómo elegir un servidor Web
 
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
 
Automatización del despliegue de aplicaciones multi cloud
Automatización del despliegue de aplicaciones multi cloudAutomatización del despliegue de aplicaciones multi cloud
Automatización del despliegue de aplicaciones multi cloud
 
Buenas Prácticas para la Construcción de Aplicaciones de Software
Buenas Prácticas para la Construcción de Aplicaciones de SoftwareBuenas Prácticas para la Construcción de Aplicaciones de Software
Buenas Prácticas para la Construcción de Aplicaciones de Software
 
Introducción al desarrollo web moderno
Introducción al desarrollo web modernoIntroducción al desarrollo web moderno
Introducción al desarrollo web moderno
 
Symfony2 Introducción
Symfony2 IntroducciónSymfony2 Introducción
Symfony2 Introducción
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Programación web
Programación webProgramación web
Programación web
 
Kubernetes para developers
Kubernetes para developersKubernetes para developers
Kubernetes para developers
 
Mini curse
Mini curseMini curse
Mini curse
 
Introduccion a Elastic Beanstalk AWS Roadshow Bogota Mexico
Introduccion a Elastic Beanstalk   AWS Roadshow Bogota MexicoIntroduccion a Elastic Beanstalk   AWS Roadshow Bogota Mexico
Introduccion a Elastic Beanstalk AWS Roadshow Bogota Mexico
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidad
 
Introducción a microservicios
Introducción a microserviciosIntroducción a microservicios
Introducción a microservicios
 
Instalacion dreamviewer
Instalacion dreamviewerInstalacion dreamviewer
Instalacion dreamviewer
 
Frameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsFrameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web Grails
 
Springboot Overview
Springboot  OverviewSpringboot  Overview
Springboot Overview
 
Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...
Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...
Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...
 
Desarrollando aplicaciones empresariales con Xamarin.Forms, Docker, MVVM y ....
Desarrollando aplicaciones empresariales con Xamarin.Forms, Docker, MVVM y  ....Desarrollando aplicaciones empresariales con Xamarin.Forms, Docker, MVVM y  ....
Desarrollando aplicaciones empresariales con Xamarin.Forms, Docker, MVVM y ....
 

Dernier

PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
PROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y masPROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y maslida630411
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nóminacuellosameidy
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaYeimys Ch
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxCarolina Bujaico
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 

Dernier (20)

PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
PROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y masPROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y mas
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nómina
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 

Symfony-Community: Introducción a Symfony Framework

  • 1. Introducción a Symfony Framework Ejemplo práctico, project setup, MVC, routing y doctrine. Disertante:
  • 2. presentación comunidad ¿Quiénes somos? Colaboradores: Objetivo del seminario: • Excedesoft S.A. • Lic. Fabian Castillo Demostrar los conceptos involucrados en • Ing. Emiliano Viada la creación de una aplicación symfony inicial. Destinatarios: • Estudiantes • Profesionales • Empresas - Instituciones Disertante:
  • 3. Introducción a Symfony Contenido • Definición oficial de Framework. • Alguna razones para la elección de symfony. (temario) • Features importantes • Alcance del ejemplo • Entorno de trabajo, componentes y funcionamiento • Instalación y configuración de una applicación • Entorno de trabajo, componentes y funcionamiento • Configuración • Arranque de la aplicación • Conceptos y estructura del framework • Capas y organización de física • Concepto Aplicación, Modulo, Template, Layout, .. • Arquitectura MVC • Routing • Layout.. • ORM – Doctrine • Personalización - Estilos Disertante:
  • 4. ¿Qué es symfony framework? Definición del sitio oficial: “Symfony is a web application framework for PHP projects.It aims to speed up the creation and maintenance of web applications, and to replace the repetitive coding tasks by power, control and pleasure” Disertante:
  • 5. Beneficios del framework • Librerías, componentes y herramientas reutilizables. • Proveer una arquitectura madura, experiencias y conocimiento. • Provee dirección y límites al programador. • Paradigma de convención Objetivo: • Construcción de aplicaciones complejas, rápidamente • Prepararnos para el futuro, escalabilidad y mantenabilidad. Disertante:
  • 6. Algunas razones para elegir Symfony 1. “Escalable” excelente esfuerzo. Yahoo lo usa con aplicaciones de 200 7. “Nivel de madures” millones de usuarios. En 5 lenguajes, multiples libros gratis, 2. “LTS” excelente esfuerzo. (Long term support) 3 años. 8. “Compromiso”. 3. “Seguro”. SensioLab lo usa, prueba y extiende en base a casos reales. (xss, csrf, sql injection, etc) 4. “Licencia MIT” permite desarrollar aplicaciones comerciales, gratuitas y/o libre. 5. “Calidad”. 9000 unidades de testeo. 6. “Documentación” En 5 lenguajes, multiples libros gratis, Disertante:
  • 7. Features de un framework web Arquitecturalmente: • Web-services • Application controller, Filter • Ajax Integration • Enrutamiento • Unit-testing • MVC • Doctrine ORM Cualidades: • Configurable Componentes: • Performante • • App.Setting Caching • Gestión de session • Forms • Seguro • Swift mailer • Productivo • Tasks • Comandos generadores • I18n y l10n • Gestión de entornos Disertante: • Generate-admin
  • 8. Aplicación Alcance Definición del alcance del ejemplo Disertante:
  • 9. Alcance del ejemplo Casos de uso: • Landing page Actor • Consulta datos de contacto • Consulta quienes somos • Consulta los post recientes VISITANTE • Comenta un post • Publica su post Dominio 1 * Post Comentario Disertante:
  • 10. Sf Setup Paso a Paso Explicación de los componentes, funcionamiento y configuración Disertante:
  • 11. Entorno de desarrollo Componentes Funcionamiento Apache local.myblog.com 127.0.0.1 request Browser Apache Server Editor Developer PHP CARPETA /var/www/myBlog/project/web Index.php Instaladores Elementos: • Host (ip) • Virtual host • URL • Aplicación Disertante:
  • 12. Configuración 1. Bajar el Sandbox 1.4.x del sitio oficial 2. Descomprimir Sandbox 3. Renombro sandbox a myblog Local host 4. Configurar el local & virtual hosts /etc/hosts 5. Reiniciar el servidor apache 127.0.0.1 local.myblog.com 6. Crear base de datos y usuario 7. Configurar db creds en symfony Virtual Host /apache/extra/conf/httpd-vhosts.conf Base de Datos http://localhost/phpmyadmin <VirtualHost *:80> ServerName local.myblog.com DocumentRoot "/var/www/myBlog/project/web" - Base de datos myblog_dev <Directory "/var/www/myBlog/project/web"> Options Indexes FollowSymLinks Includes ExecCGI - Usuario myblog_dev AllowOverride All Order allow,deny - Edicion de credenciales en: Allow from all </Directory> - project/config/database.yml </VirtualHost> Alias /sf /var/www/myblog/lib/vendor/symfony/data/web/sf <Directory "/var/www/myblog/lib/vendor/symfony/data/web/sf"> AllowOverride All Allow from All Disertante: </Directory>
  • 14. Bienvenidos a Symfony Explicación de las convenciones y organización de la aplicación Disertante:
  • 15. Estructura del framework • Estructura del proyecto symfony • Convenciones • Organización de capas y archivos. • Arquitectura MVC • Application, Module, Actions, Templates • Layouts • Scarfolding y comandos symfony Disertante:
  • 16. Capas y organización física Arquitectura CCS, JS, Frontend Front Controller Mob. FC BE F.C Images, Layout Layout Templ Templ Templ Tempo API Action Action Action Action Web Services Modulo Modulo Frontend Application Mobile Backend Form Model Vendors Widgets Task s Lib - core OS +Apache + MySql Disertante:
  • 17. Coding inicial Demostración paso a paso. Disertante:
  • 18. Ejemplo • Crear modulo “content” ./symfony generate:module frontend content • Crear action “home” • Setear una variable $this->fecha = date('d/m/Y'); • Imprimir mensaje de bienvenida en vista <h1>Symfony-Community Blog</h1> <hr/> <h2>Bienvenido al blog de la comunidad</h2> Ultima Actualización: <?php echo $fecha; ?> (Demostración en IDE – browser) http://local.myblog.com/frontend_dev.php/content/home Disertante:
  • 19. Arquitectura MVC en symfony frontend_dev.php/content/home Apache request Server Browser Front Controller result Usuario Action Layout Model Template • Controller = Front Controller + Action • Model = Clases de Dominio (Lib/Model) • View = Template + Layout Disertante:
  • 20. Routing • Concepto • Mapear un requerimiento (url) a una acción. (Caso de Uso) Front Controller • Definición routing • /config/route.yml Action Layout • Utilización desde la vista • url_for() helper Model Template • Rutas por defecto • Homepage (Creamos las páginas de Contáctenos y Quienes Somos para demostrar en IDE – browser ) Disertante:
  • 21. Layout • Concepto y demostración • Partes del layout • Two step view (Pattern) – vista en dos pasos Disertante:
  • 22. Schema – Dominio - Doctrine • Concepto • Entidad, Relación. • Definición • /config/doctrine/schema.yml • Scaffolding • Clases autogeneradas • Utilización del dominio desde la acción. • Doctrine::getTable(“xx”)->findAll(); ->findBy*(); etc. • Behaviours populares • Timestampable, Slugable, vertinable (Creamos el módulo Post para demostrar en IDE – browser ) Disertante:
  • 23. Web – Recursos estáticos • Explicación de la carpeta web • CSS • Imágenes • Javascripts • Maquetación • Personalizar estilo de blog. Disertante:

Notes de l'éditeur

  1. Curva de aprendizaje. El esfuerzo inicial
  2. Creamos el modulo “content” porlinea de comando, creamos la accion “home” y vista. Demostramos el contenidopormedio de la rutapordefecto.
  3. Explicacion del ejemplo y el funcionamiento de MVCDebemosidentificar y asociarlaspartes del MVC con el codigoescrito.
  4. Creamos modulo contactenos y post Agregamos la rutaAgregamos el links de navegacion del sitio.
  5. Creamos modulo contactenos y post Agregamos la rutaAgregamos el links de navegacion del sitio.