SlideShare una empresa de Scribd logo
1 de 33
Frameworks MVC para el Desarrollo Web - Symfony

                                         Esteban Saavedra L´pez
                                                           o

                                   CEO Opentelematics Internacional Bolivia
                                       jesaavedra@opentelematics.org
                                    http://jesaavedra.opentelematics.org
                                      http://esteban.profesionales.org




Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   1 / 33
Tabla de Contenidos

  1    Introducci´n a los Frameworks
                 o

  2    Patron MVC

  3    Symfony

  4    Caracter´
               ısticas de un Proyecto Symfony

  5    Creaci´n de un proyecto
             o

  6    Demostraci´n
                 o

  7    Conclusiones

  8    Referencias


Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   2 / 33
Introducci´n a los Frameworks
                                         o


 Que es un Framework?



          Es una estructura de soporte definida en la cual otro proyecto de
          software puede ser organizado y desarrollado.
          Se han convertido en la piedra angular de la moderna ingenier´
                                                                       ıa
          del software
          Es una estructura software compuesta de componentes
          personalizables e intercambiables para el desarrollo de una aplicaci´n.
                                                                              o
          En otras palabras, es una aplicaci´n gen´rica incompleta y
                                            o       e
          configurable a la que podemos aadirle las ultimas piezas para
                                                     ´
          construir una aplicaci´n concreta.
                                 o




Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   3 / 33
Introducci´n a los Frameworks
                                         o


 Cual el objetivo de un framework?


          Desarrollo r´pido
                      a
          Desarrollo estructurado
          Reutilizaci´n de c´digo
                     o      o
          Disminuir el esfuerzo en el desarrollo
          Aprovechamos las funcionalidades ya implementadas.
          No debemos reinventar la rueda
          Nos concetramos directamente en la soluci´n del problema
                                                   o
          Tener como aliado a las metodolog´ de desarrollo Ag´ (XP,
                                           ıas               ıles
          AD)




Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   4 / 33
Patron MVC


 Patr´n MVC
     o




            Modelo
            Controlador
            Vista




Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   5 / 33
Symfony


 Que es Symfony




          Es un framework para el desarrollo de aplicaciones web
          Es la respuesta de php para Ruby on Rails
          Permite el desarrollo de aplicaciones web de forma r´pida
                                                              a




Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   6 / 33
Symfony


 Filosof´ de Symfony
        ıa




          Reutilizaci´n de c´digo
                     o      o
          Desarrollar aplicaciones web de forma r´pida, sencilla y divertida
                                                 a
          Utilizar los mejores componentes actualmente disponibles
          Combinar todo en un paquete f´cil de usar
                                       a
          Symfony provee el pegamento, de tal forma que uds no haga el suyo.




Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   7 / 33
Symfony


 Por que Symfony


          Se basa en el patr´n MVC
                            o
          Tiene todo lo necesario para desarrollar aplicaciones Web
          Soporta Ajax
          Posee buena documentaci´n
                                 o
          Es multiplataforma
          Posee una numerosa comunidad de desarrolladores y usuarios
          Inspirado en Ruby on Rails (Padrino de la mayor´ de los
                                                         ıa
          Frameworks)
          Est´ en constante desarrollo
             a




Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   8 / 33
Symfony


 Componentes de Symfony




          Propel: ORM para el acceso a
          Base de datos
          Creole: Maneja la capa de
          abstracci´n de BD
                   o
          Phing: Mapeador XML
          Pake: Gesti´n de ejecuci´n de
                     o            o
          Scripts




Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   9 / 33
Symfony


 Instalaci´n de Symfony
          o



  Utilizando Sandbox
  Obtener: http://www.symfony-project.com/get/sf_sandbox.tgz
  Basta con descomprimir y publicarlo en el servidr web

  Mediante PEAR
  pear channel-discover pear.symfony-project.com
  pear remote-list -c symfony
  pear install symfony/symfony




Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   10 / 33
Caracter´
                              ısticas de un Proyecto Symfony


 Estructura de un proyecto de Symfony




  Symfony proporciona una estructura jer´rquica:
                                        a
          Proyecto
          Aplicaci´n
                  o
          M´dulo
           o
          Acci´n
              o
          Vista




Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   11 / 33
Caracter´
                              ısticas de un Proyecto Symfony


 Aplicaciones




          Todo proyecto contiene una o m´s aplicaciones
                                         a
          Dentro de un mismo proyecto, las aplicaciones:
                 Comparten el mismo modelo de datos
                 Poseen vistas independientes
                 No comparten sesiones de usuario
                 Limitaci´n en deducir URLs de las dem´s aplicaciones
                         o                            a




Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   12 / 33
Caracter´
                              ısticas de un Proyecto Symfony


 M´dulos
  o




  Una aplicaci´n est´ compuesta por un conjunto de m´dulos
              o     a                               o
          Un m´dulo agrupa a un conjunto de peticiones
               o
          Dentro de una misma aplicaci´n, los m´dulos:
                                      o        o
                 Pueden compartir la misma decoraci´n
                                                   o
                 Comparten la misma sesi´n
                                        o




Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   13 / 33
Caracter´
                              ısticas de un Proyecto Symfony


 Acciones




          Contienen l´gica de aplicaci´n
                     o                o
          Son implementadas como m´todos
                                  e
          Cada petici´n HTTP resulta en la invocaci´n de una acci´n
                     o                             o             o
          Dicha traducci´n se denomina routing, y se basa en la URL
                        o




Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   14 / 33
Caracter´
                              ısticas de un Proyecto Symfony


 Vistas




          Contienen la l´gica de presentaci´n
                        o                  o
          Se implementan como plantillas PHP/HTML
          El resultado de la acci´n determina qu´ vista se procesa
                                 o              e




Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   15 / 33
Caracter´
                              ısticas de un Proyecto Symfony


 Entornos




  Por naturaleza Synfony, prevee la existencia de 3 entronos:
          DEV: Entorno de desarrollo
          TEST: Entorno de pruebas
          PROD: Entorno de Producci´n
                                   o




Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   16 / 33
Caracter´
                              ısticas de un Proyecto Symfony


 Creaci´n de un proyecto
       o




  Instrucci´n
           o
   symfony init-project libros




Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   17 / 33
Caracter´
                              ısticas de un Proyecto Symfony


 Que gener´ esto?
          o

  Una estructura jer´rquica de directorios:
                    a
          Apps C´digo de las aplicaciones
                o
          Batch Scripts para la l´
                                 ınea de comandos
          Cache Cach´ de la conguraci´n
                    e                o
          Cong Conguraci´n global del proyecto
                        o
          Data Schema SQL, datos de prueba
          Lib El modelo y bibliotecas de terceros
          Log Registros de actividad de Symfony
          Plugins Plugins instalados para la el proyecto
          Test Pruebas de testeo
          Web Ra´ web: CSSs, JSs, etc.
                ız


Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   18 / 33
Creaci´n de un proyecto
                                          o


 Pasos para crear un proyecto



      1   Crear el proyecto
      2   Crear la aplicaci´n
                           o
      3   Crear el c´digo del modelo de datos
                    o
      4   Generar el modelo de datos
      5   Crear la base de datos (SQL)
      6   Generar los CRUDs
      7   Adecuar los templates (CSS y/o JavaScript)
      8   Publicar la Aplicaci´n
                              o




Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   19 / 33
Creaci´n de un proyecto
                                          o


   1. Creaci´n de un proyecto
            o
  Instrucci´n
           o
   symfony init-project libros




  Detalles del proyecto
  >> dir+        /home/jesaavedra/aplic_web/symfony/libros/batch
  >> dir+        /home/jesaavedra/aplic_web/symfony/libros/test
  >> dir+        /home/jesaavedra/aplic_web/symfony/libros/test/unit
  >> dir+        /home/jesaavedra/aplic_web/symfony/libros/test/functional
  .....
  >> dir+        /home/jesaavedra/aplic_web/symfony/libros/web/images
  >> dir+        /home/jesaavedra/aplic_web/symfony/libros/web/js
  >> file+       /home/jesaavedra/aplic_web/symfony/libros/web/robots.txt
  >> dir+        /home/jesaavedra/aplic_web/symfony/libros/web/uploads
  ....
  >> dir+        /home/jesaavedra/aplic_web/symfony/libros/plugins
  >> dir+        /home/jesaavedra/aplic_web/symfony/libros/config
  >> file+       /home/jesaavedra/aplic_web/symfony/libros/config/schema.yml
  >> file+       /home/jesaavedra/aplic_web/symfony/libros/config/databases.yml
  ....
  >> tokens      /home/jesaavedra/aplic_web/symfony/libros/config/propel.ini
  >> tokens      /home/jesaavedra/aplic_web/symfony/libros/config/propel.ini
  >> tokens      /home/jesaavedra/aplic_web/symfony/libros/config/config.php
  >> chmod 777   /home/jesaavedra/aplic_web/symfony/libros/cache
  >> chmod 777   /home/jesaavedra/aplic_web/symfony/libros/log
  .....


Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   20 / 33
Creaci´n de un proyecto
                                          o


   2. Creaci´n de la aplicaci´n
            o                o
  Instrucci´n
           o
   symfony init-app libros




  Detalles de la aplicac’on
  >> dir+        /home/jesaavedra/aplic_web/symfony/libros/apps/libros/config
  >> file+       /home/jesaavedra/aplic_web/symf...apps/libros/config/security.yml
  >> file+       /home/jesaavedra/aplic_web/symf...bros/apps/libros/config/app.yml
  >> file+       /home/jesaavedra/aplic_web/symf...os/apps/libros/config/cache.yml
  >> file+       /home/jesaavedra/aplic_web/symf...ros/apps/libros/config/i18n.yml
  >> file+       /home/jesaavedra/aplic_web/symf...pps/libros/config/factories.yml
  >> file+       /home/jesaavedra/aplic_web/symf.../apps/libros/config/routing.yml
  >> file+       /home/jesaavedra/aplic_web/symf...s/apps/libros/config/config.php
  >> file+       /home/jesaavedra/aplic_web/symf...apps/libros/config/settings.yml
  .....
  >> tokens      /home/jesaavedra/aplic_web/symf...apps/libros/config/settings.yml
  >> file+       /home/jesaavedra/aplic_web/symfony/libros/web/index.php
  >> file+       /home/jesaavedra/aplic_web/symfony/libros/web/libros_dev.php
  >> tokens      /home/jesaavedra/aplic_web/symfony/libros/web/index.php
  >> tokens      /home/jesaavedra/aplic_web/symfony/libros/web/libros_dev.php
  >> chmod 777   /home/jesaavedra/aplic_web/symfony/libros/cache
  >> chmod 777   /home/jesaavedra/aplic_web/symfony/libros/log
  >> chmod 777   /home/jesaavedra/aplic_web/symfony/libros/web/uploads
  >> chmod 777   /home/jesaavedra/aplic_web/symfony/libros/symfony
  >> chmod 777   web/uploads/assets
  >> dir+        /home/jesaavedra/aplic_web/symfony/libros/test/functional/libros


Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   21 / 33
Creaci´n de un proyecto
                                          o


   3. Crear el c´digo del modelo de datos
                o
  Editar el archivo libros/config/schema.yml
  Detalles del modelo
  ---
  propel:
    cliente:
      _attributes: { phpName: Cliente }
        idMethod: native
      id:
        type: INTEGER
        required: true
        autoIncrement: true
        primaryKey: true
      paterno:
        type: VARCHAR
        size: 25
      materno:
        type: VARCHAR
        size: 25
      nombre:
        type: VARCHAR
        size: 25
      ci:
        type: VARCHAR
        size: 10
      direccion:
        type: VARCHAR
        size: 75
  ..........

Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   22 / 33
Creaci´n de un proyecto
                                          o


   4. Generar el modelo de datos
  Instrucci´n
           o
  symfony propel-build-model




  Detalles de la generaci´n del modelo
                         o
  [propel-om]   Target database type: mysql
  [propel-om]   Target package: lib.model
  [propel-om]   Using template path: /usr/share/php/symfony/vendor/propel-generator/templates
  [propel-om]   Output directory: /home/jesaavedra/aplic_web/symfony/libros
  [propel-om]   Processing: generated-schema.xml
  [propel-om]   Processing Datamodel : JoinedDataModel
  [propel-om]     - processing database : propel
  [propel-om]       + cliente
  [propel-om]               -> BaseClientePeer [builder: SfPeerBuilder]
  [propel-om]               -> BaseCliente [builder: SfObjectBuilder]
  [propel-om]               -> ClienteMapBuilder [builder: SfMapBuilderBuilder]
  [propel-om]               -> ClientePeer [builder: SfExtensionPeerBuilder]
  [propel-om]               -> Cliente [builder: SfExtensionObjectBuilder]
  [propel-om]       + libro
  [propel-om]               -> BaseLibroPeer [builder: SfPeerBuilder]
  [propel-om]               -> BaseLibro [builder: SfObjectBuilder]
  [propel-om]               -> LibroMapBuilder [builder: SfMapBuilderBuilder]
  [propel-om]               -> LibroPeer [builder: SfExtensionPeerBuilder]
  [propel-om]               -> Libro [builder: SfExtensionObjectBuilder]
  .....



Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                             Nov. 2007   23 / 33
Creaci´n de un proyecto
                                          o


 5. Generando el SQL de creaci´n de la BD
                              o

  Instrucci´n
           o
  symfony propel-build-sql




  Sal´
     ıda
  ......

  propel > sql:
       [echo] +------------------------------------------+
       [echo] |                                          |
       [echo] | Generating SQL for YOUR Propel project! |
       [echo] |                                          |
       [echo] +------------------------------------------+
  [phingcall] Calling Buildfile ’/usr/share/php/symfony/vendor/propel-generator/build-propel.xml’ with target ’sq
   [property] Loading /usr/share/php/symfony/vendor/propel-generator/./default.properties

  propel > sql-template:
  [propel-sql] Processing: generated-schema.xml
  [propel-sql] Writing to SQL file: /home/jesaavedra/aplic_web/symfony/libros/data/sql/lib.model.schema.sql
  [propel-sql]    + cliente [builder: MysqlDDLBuilder]
  [propel-sql]    + compra [builder: MysqlDDLBuilder]
  [propel-sql]    + libro [builder: MysqlDDLBuilder]
  [propel-sql]    + pago [builder: MysqlDDLBuilder]

  BUILD FINISHED


Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                        Nov. 2007    24 / 33
Creaci´n de un proyecto
                                          o


 6. Generando los CRUDs

  Instrucci´n
           o
  symfony propel-generate-crud libros cliente Cliente




  Sal´
     ıda
  >>   dir+     /home/jesaavedra/aplic_web/symf.../libros/modules/cliente/actions
  >>   file+    /home/jesaavedra/aplic_web/symf...iente/actions/actions.class.php
  >>   dir+     /home/jesaavedra/aplic_web/symf...ibros/modules/cliente/templates
  >>   file+    /home/jesaavedra/aplic_web/symf...iente/templates/editSuccess.php
  >>   file+    /home/jesaavedra/aplic_web/symf...iente/templates/listSuccess.php
  >>   file+    /home/jesaavedra/aplic_web/symf...iente/templates/showSuccess.php
  >>   tokens   /home/jesaavedra/aplic_web/symf...iente/actions/actions.class.php
  >>   tokens   /home/jesaavedra/aplic_web/symf...iente/actions/actions.class.php
  >>   tokens   /home/jesaavedra/aplic_web/symf...iente/templates/editSuccess.php
  >>   tokens   /home/jesaavedra/aplic_web/symf...iente/templates/listSuccess.php
  >>   tokens   /home/jesaavedra/aplic_web/symf...iente/templates/showSuccess.php
  >>   file+    /home/jesaavedra/aplic_web/symf...l/libros/clienteActionsTest.php
  >>   tokens   /home/jesaavedra/aplic_web/symf...l/libros/clienteActionsTest.php
  >>   file-    /home/jesaavedra/aplic_web/symf...iente/templates/showSuccess.php
  >>   file-    /home/jesaavedra/aplic_web/symf...iente/templates/listSuccess.php
  >>   file-    /home/jesaavedra/aplic_web/symf...iente/templates/editSuccess.php
  >>   dir-     /home/jesaavedra/aplic_web/symf...bfb75802c/autoCliente/templates
  >>   file-    /home/jesaavedra/aplic_web/symf...iente/actions/actions.class.php
  >>   dir-     /home/jesaavedra/aplic_web/symf...f1bfb75802c/autoCliente/actions
  >>   dir-     /home/jesaavedra/aplic_web/symf...eb341f72f1bfb75802c/autoCliente


Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   25 / 33
Creaci´n de un proyecto
                                          o


 Acceso al proyecto
  Instrucci´n
           o
   http://libros




Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   26 / 33
Creaci´n de un proyecto
                                          o


 Adecuaciones



  Una vez generada gran parte del proyecto (forma muy general), se puede
  proceder a realizar adecuaciones en:
          Controlador (actions)
          Vistas (templates)
          Formas de acceso en las URL (routing )
          Validacion de formularios
          Efectos especiales




Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   27 / 33
Creaci´n de un proyecto
                                          o


 Proyecto desplegado




Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   28 / 33
Demostraci´n
                                                        o


 Ejemplo de aplicacion desarrollada




                                                Demostraci´n
                                                          o




Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   29 / 33
Conclusiones


 Conclusiones


  Symfony:
          Tiene todo lo necesario para desarrollar aplicaciones Web
          Soporta Ajax
          Posee buena documentaci´n
                                 o
          Es multiplataforma
          Esta en constante desarrollo (muchas funcionalidades en base plugins)
          Al tener como aliado a las metodolog´ de desarrollo Ag´ (XP,
                                                ıas                   ıles
          AD), se convierte en un fuerte candidatos para desarrollo de
          aplicaciones web.




Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   30 / 33
Referencias


 Referencias




          http://www.symfony-project.com
          http://www.symfony.es




Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   31 / 33
Referencias


 Preguntas




  Preguntas
  Preguntas, dudas, consultas, ...




Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   32 / 33
Referencias


 Agradecimientos




                                                    Gracias...




Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony
                  o                                                                       Nov. 2007   33 / 33

Más contenido relacionado

Destacado

Bankbarometer07_Deutschland_Kurzfassung
Bankbarometer07_Deutschland_KurzfassungBankbarometer07_Deutschland_Kurzfassung
Bankbarometer07_Deutschland_Kurzfassungemotion banking
 
Web-Relooking der Kosmetikmarke Claire Fisher
Web-Relooking der Kosmetikmarke Claire FisherWeb-Relooking der Kosmetikmarke Claire Fisher
Web-Relooking der Kosmetikmarke Claire FisherMOONDA
 
Comparatividad Entre Piscis Y Acuarius
Comparatividad Entre  Piscis Y  AcuariusComparatividad Entre  Piscis Y  Acuarius
Comparatividad Entre Piscis Y Acuariusguest6942b5
 
Kurznewsletter September 2012
Kurznewsletter September 2012Kurznewsletter September 2012
Kurznewsletter September 2012emotion banking
 
1. Introducción Curso Lexico en lengua inglesa de ByD - UGR
1. Introducción Curso Lexico en lengua inglesa de ByD - UGR1. Introducción Curso Lexico en lengua inglesa de ByD - UGR
1. Introducción Curso Lexico en lengua inglesa de ByD - UGRNicolas Robinson-Garcia
 
Partizipative Bildungsformate
Partizipative BildungsformatePartizipative Bildungsformate
Partizipative Bildungsformatedavidroethler
 
Weihnachten Blog
Weihnachten BlogWeihnachten Blog
Weihnachten BlogRocio Ramos
 
Samsung YP-S3 Vorschau
Samsung YP-S3 VorschauSamsung YP-S3 Vorschau
Samsung YP-S3 Vorschaumarco678
 
Insercion_de_parentesis_2
Insercion_de_parentesis_2Insercion_de_parentesis_2
Insercion_de_parentesis_2Moris Polanco
 
3. ISI WoS Curso Léxico en inglés en ByD
3. ISI WoS Curso Léxico en inglés en ByD3. ISI WoS Curso Léxico en inglés en ByD
3. ISI WoS Curso Léxico en inglés en ByDNicolas Robinson-Garcia
 
ein SCHOENER MP3 PLAYER YP-S3.1
ein SCHOENER MP3 PLAYER YP-S3.1ein SCHOENER MP3 PLAYER YP-S3.1
ein SCHOENER MP3 PLAYER YP-S3.1marco678
 
Test2 Sound
Test2 SoundTest2 Sound
Test2 Soundtguingab
 
Samsung MP3 YP-S5 Bilder
Samsung MP3 YP-S5 BilderSamsung MP3 YP-S5 Bilder
Samsung MP3 YP-S5 Bildermarco678
 
MOOCs _ Präsentation Campus Osttirol, 29. September 2014
MOOCs _ Präsentation Campus Osttirol, 29. September 2014MOOCs _ Präsentation Campus Osttirol, 29. September 2014
MOOCs _ Präsentation Campus Osttirol, 29. September 2014davidroethler
 
Samsung YP-P2 bilder
Samsung YP-P2 bilderSamsung YP-P2 bilder
Samsung YP-P2 bildermarco678
 

Destacado (20)

Bankbarometer07_Deutschland_Kurzfassung
Bankbarometer07_Deutschland_KurzfassungBankbarometer07_Deutschland_Kurzfassung
Bankbarometer07_Deutschland_Kurzfassung
 
Web-Relooking der Kosmetikmarke Claire Fisher
Web-Relooking der Kosmetikmarke Claire FisherWeb-Relooking der Kosmetikmarke Claire Fisher
Web-Relooking der Kosmetikmarke Claire Fisher
 
Twitter für KMU
Twitter für KMUTwitter für KMU
Twitter für KMU
 
Comparatividad Entre Piscis Y Acuarius
Comparatividad Entre  Piscis Y  AcuariusComparatividad Entre  Piscis Y  Acuarius
Comparatividad Entre Piscis Y Acuarius
 
Kurznewsletter September 2012
Kurznewsletter September 2012Kurznewsletter September 2012
Kurznewsletter September 2012
 
1. Introducción Curso Lexico en lengua inglesa de ByD - UGR
1. Introducción Curso Lexico en lengua inglesa de ByD - UGR1. Introducción Curso Lexico en lengua inglesa de ByD - UGR
1. Introducción Curso Lexico en lengua inglesa de ByD - UGR
 
Curso de Marketing Digital
Curso de Marketing DigitalCurso de Marketing Digital
Curso de Marketing Digital
 
Partizipative Bildungsformate
Partizipative BildungsformatePartizipative Bildungsformate
Partizipative Bildungsformate
 
Weihnachten Blog
Weihnachten BlogWeihnachten Blog
Weihnachten Blog
 
Samsung YP-S3 Vorschau
Samsung YP-S3 VorschauSamsung YP-S3 Vorschau
Samsung YP-S3 Vorschau
 
Dios te dice
Dios te diceDios te dice
Dios te dice
 
Insercion_de_parentesis_2
Insercion_de_parentesis_2Insercion_de_parentesis_2
Insercion_de_parentesis_2
 
Cirujanos De Nuestro Cuerpo
Cirujanos De Nuestro CuerpoCirujanos De Nuestro Cuerpo
Cirujanos De Nuestro Cuerpo
 
Turismo 1 1
Turismo 1 1Turismo 1 1
Turismo 1 1
 
3. ISI WoS Curso Léxico en inglés en ByD
3. ISI WoS Curso Léxico en inglés en ByD3. ISI WoS Curso Léxico en inglés en ByD
3. ISI WoS Curso Léxico en inglés en ByD
 
ein SCHOENER MP3 PLAYER YP-S3.1
ein SCHOENER MP3 PLAYER YP-S3.1ein SCHOENER MP3 PLAYER YP-S3.1
ein SCHOENER MP3 PLAYER YP-S3.1
 
Test2 Sound
Test2 SoundTest2 Sound
Test2 Sound
 
Samsung MP3 YP-S5 Bilder
Samsung MP3 YP-S5 BilderSamsung MP3 YP-S5 Bilder
Samsung MP3 YP-S5 Bilder
 
MOOCs _ Präsentation Campus Osttirol, 29. September 2014
MOOCs _ Präsentation Campus Osttirol, 29. September 2014MOOCs _ Präsentation Campus Osttirol, 29. September 2014
MOOCs _ Präsentation Campus Osttirol, 29. September 2014
 
Samsung YP-P2 bilder
Samsung YP-P2 bilderSamsung YP-P2 bilder
Samsung YP-P2 bilder
 

Similar a Symfony

Frameworks para desarrollo de aplicaciones Web
Frameworks para desarrollo de aplicaciones WebFrameworks para desarrollo de aplicaciones Web
Frameworks para desarrollo de aplicaciones WebEsteban Saavedra
 
Web matrix session1
Web matrix session1Web matrix session1
Web matrix session1Gonzalo C.
 
01.springframework.pptx
01.springframework.pptx01.springframework.pptx
01.springframework.pptxjohann
 
Frameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITESFrameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITESJesus Caceres Tello
 
Creación de aplicaciones Java Web con Seam-gen
Creación de aplicaciones Java Web con Seam-genCreación de aplicaciones Java Web con Seam-gen
Creación de aplicaciones Java Web con Seam-genMaribel Maisano
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on railspelusa
 
Catalyst: Framework para el desarrollo de aplicaciones Web
Catalyst: Framework para el desarrollo de aplicaciones WebCatalyst: Framework para el desarrollo de aplicaciones Web
Catalyst: Framework para el desarrollo de aplicaciones WebEsteban Saavedra
 
Adentrándonos al Framework Symfony
Adentrándonos al  Framework SymfonyAdentrándonos al  Framework Symfony
Adentrándonos al Framework SymfonyRodrigo Miranda
 
Java Open Source Web Frameworks - Linux Week 2009
Java Open Source Web Frameworks - Linux Week 2009Java Open Source Web Frameworks - Linux Week 2009
Java Open Source Web Frameworks - Linux Week 2009Lennon Shimokawa
 
Desarrollo Web con ASP.NET MVC
Desarrollo Web con ASP.NET MVCDesarrollo Web con ASP.NET MVC
Desarrollo Web con ASP.NET MVCAngel Nuñez
 
Presentacion portlets tools
Presentacion portlets toolsPresentacion portlets tools
Presentacion portlets toolsDavid Calvo
 

Similar a Symfony (20)

Grails
GrailsGrails
Grails
 
Symfony
SymfonySymfony
Symfony
 
Frameworks para desarrollo de aplicaciones Web
Frameworks para desarrollo de aplicaciones WebFrameworks para desarrollo de aplicaciones Web
Frameworks para desarrollo de aplicaciones Web
 
Web matrix session1
Web matrix session1Web matrix session1
Web matrix session1
 
01.springframework.pptx
01.springframework.pptx01.springframework.pptx
01.springframework.pptx
 
Laravel
LaravelLaravel
Laravel
 
Laravel vc
Laravel vcLaravel vc
Laravel vc
 
T8 cgi applets...
T8 cgi applets...T8 cgi applets...
T8 cgi applets...
 
Frameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITESFrameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITES
 
Creación de aplicaciones Java Web con Seam-gen
Creación de aplicaciones Java Web con Seam-genCreación de aplicaciones Java Web con Seam-gen
Creación de aplicaciones Java Web con Seam-gen
 
Dreamweaver
DreamweaverDreamweaver
Dreamweaver
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 
LARAVEL-01-INTRODUCCION.pptx
LARAVEL-01-INTRODUCCION.pptxLARAVEL-01-INTRODUCCION.pptx
LARAVEL-01-INTRODUCCION.pptx
 
framework.pptx
framework.pptxframework.pptx
framework.pptx
 
Catalyst: Framework para el desarrollo de aplicaciones Web
Catalyst: Framework para el desarrollo de aplicaciones WebCatalyst: Framework para el desarrollo de aplicaciones Web
Catalyst: Framework para el desarrollo de aplicaciones Web
 
Adentrándonos al Framework Symfony
Adentrándonos al  Framework SymfonyAdentrándonos al  Framework Symfony
Adentrándonos al Framework Symfony
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Java Open Source Web Frameworks - Linux Week 2009
Java Open Source Web Frameworks - Linux Week 2009Java Open Source Web Frameworks - Linux Week 2009
Java Open Source Web Frameworks - Linux Week 2009
 
Desarrollo Web con ASP.NET MVC
Desarrollo Web con ASP.NET MVCDesarrollo Web con ASP.NET MVC
Desarrollo Web con ASP.NET MVC
 
Presentacion portlets tools
Presentacion portlets toolsPresentacion portlets tools
Presentacion portlets tools
 

Más de Esteban Saavedra (20)

Atix30
Atix30Atix30
Atix30
 
Atix29
Atix29Atix29
Atix29
 
Atix28
Atix28Atix28
Atix28
 
Atix27
Atix27Atix27
Atix27
 
Atix26
Atix26Atix26
Atix26
 
Atix25
Atix25Atix25
Atix25
 
Rabbitmq
RabbitmqRabbitmq
Rabbitmq
 
Ansible
AnsibleAnsible
Ansible
 
Perl
PerlPerl
Perl
 
Atix24
Atix24Atix24
Atix24
 
Atix23
Atix23Atix23
Atix23
 
Lineas Base Migracion a Software Libre
Lineas Base Migracion a Software LibreLineas Base Migracion a Software Libre
Lineas Base Migracion a Software Libre
 
Seguridad Sistemas de Gobierno
Seguridad Sistemas de GobiernoSeguridad Sistemas de Gobierno
Seguridad Sistemas de Gobierno
 
Tunneling: Esquivando Restricciones de Proxies y Firewalls
Tunneling: Esquivando Restricciones de Proxies y FirewallsTunneling: Esquivando Restricciones de Proxies y Firewalls
Tunneling: Esquivando Restricciones de Proxies y Firewalls
 
Bi Un Modelo Eficiente para Gerenciar Empresas
Bi Un Modelo Eficiente para Gerenciar EmpresasBi Un Modelo Eficiente para Gerenciar Empresas
Bi Un Modelo Eficiente para Gerenciar Empresas
 
Clouds privadas
Clouds privadasClouds privadas
Clouds privadas
 
Introduccion Computacion Ubicua
Introduccion Computacion UbicuaIntroduccion Computacion Ubicua
Introduccion Computacion Ubicua
 
Frameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsFrameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web Grails
 
Avances Tecnologicos
Avances TecnologicosAvances Tecnologicos
Avances Tecnologicos
 
Dni Electronico Bolivia
Dni Electronico BoliviaDni Electronico Bolivia
Dni Electronico Bolivia
 

Último

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
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
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
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
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
 
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
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramDIDIERFERNANDOGUERRE
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
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
 
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
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
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
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 

Último (20)

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
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.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
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
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
 
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
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ram
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
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
 
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
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.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
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 

Symfony

  • 1. Frameworks MVC para el Desarrollo Web - Symfony Esteban Saavedra L´pez o CEO Opentelematics Internacional Bolivia jesaavedra@opentelematics.org http://jesaavedra.opentelematics.org http://esteban.profesionales.org Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 1 / 33
  • 2. Tabla de Contenidos 1 Introducci´n a los Frameworks o 2 Patron MVC 3 Symfony 4 Caracter´ ısticas de un Proyecto Symfony 5 Creaci´n de un proyecto o 6 Demostraci´n o 7 Conclusiones 8 Referencias Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 2 / 33
  • 3. Introducci´n a los Frameworks o Que es un Framework? Es una estructura de soporte definida en la cual otro proyecto de software puede ser organizado y desarrollado. Se han convertido en la piedra angular de la moderna ingenier´ ıa del software Es una estructura software compuesta de componentes personalizables e intercambiables para el desarrollo de una aplicaci´n. o En otras palabras, es una aplicaci´n gen´rica incompleta y o e configurable a la que podemos aadirle las ultimas piezas para ´ construir una aplicaci´n concreta. o Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 3 / 33
  • 4. Introducci´n a los Frameworks o Cual el objetivo de un framework? Desarrollo r´pido a Desarrollo estructurado Reutilizaci´n de c´digo o o Disminuir el esfuerzo en el desarrollo Aprovechamos las funcionalidades ya implementadas. No debemos reinventar la rueda Nos concetramos directamente en la soluci´n del problema o Tener como aliado a las metodolog´ de desarrollo Ag´ (XP, ıas ıles AD) Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 4 / 33
  • 5. Patron MVC Patr´n MVC o Modelo Controlador Vista Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 5 / 33
  • 6. Symfony Que es Symfony Es un framework para el desarrollo de aplicaciones web Es la respuesta de php para Ruby on Rails Permite el desarrollo de aplicaciones web de forma r´pida a Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 6 / 33
  • 7. Symfony Filosof´ de Symfony ıa Reutilizaci´n de c´digo o o Desarrollar aplicaciones web de forma r´pida, sencilla y divertida a Utilizar los mejores componentes actualmente disponibles Combinar todo en un paquete f´cil de usar a Symfony provee el pegamento, de tal forma que uds no haga el suyo. Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 7 / 33
  • 8. Symfony Por que Symfony Se basa en el patr´n MVC o Tiene todo lo necesario para desarrollar aplicaciones Web Soporta Ajax Posee buena documentaci´n o Es multiplataforma Posee una numerosa comunidad de desarrolladores y usuarios Inspirado en Ruby on Rails (Padrino de la mayor´ de los ıa Frameworks) Est´ en constante desarrollo a Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 8 / 33
  • 9. Symfony Componentes de Symfony Propel: ORM para el acceso a Base de datos Creole: Maneja la capa de abstracci´n de BD o Phing: Mapeador XML Pake: Gesti´n de ejecuci´n de o o Scripts Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 9 / 33
  • 10. Symfony Instalaci´n de Symfony o Utilizando Sandbox Obtener: http://www.symfony-project.com/get/sf_sandbox.tgz Basta con descomprimir y publicarlo en el servidr web Mediante PEAR pear channel-discover pear.symfony-project.com pear remote-list -c symfony pear install symfony/symfony Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 10 / 33
  • 11. Caracter´ ısticas de un Proyecto Symfony Estructura de un proyecto de Symfony Symfony proporciona una estructura jer´rquica: a Proyecto Aplicaci´n o M´dulo o Acci´n o Vista Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 11 / 33
  • 12. Caracter´ ısticas de un Proyecto Symfony Aplicaciones Todo proyecto contiene una o m´s aplicaciones a Dentro de un mismo proyecto, las aplicaciones: Comparten el mismo modelo de datos Poseen vistas independientes No comparten sesiones de usuario Limitaci´n en deducir URLs de las dem´s aplicaciones o a Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 12 / 33
  • 13. Caracter´ ısticas de un Proyecto Symfony M´dulos o Una aplicaci´n est´ compuesta por un conjunto de m´dulos o a o Un m´dulo agrupa a un conjunto de peticiones o Dentro de una misma aplicaci´n, los m´dulos: o o Pueden compartir la misma decoraci´n o Comparten la misma sesi´n o Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 13 / 33
  • 14. Caracter´ ısticas de un Proyecto Symfony Acciones Contienen l´gica de aplicaci´n o o Son implementadas como m´todos e Cada petici´n HTTP resulta en la invocaci´n de una acci´n o o o Dicha traducci´n se denomina routing, y se basa en la URL o Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 14 / 33
  • 15. Caracter´ ısticas de un Proyecto Symfony Vistas Contienen la l´gica de presentaci´n o o Se implementan como plantillas PHP/HTML El resultado de la acci´n determina qu´ vista se procesa o e Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 15 / 33
  • 16. Caracter´ ısticas de un Proyecto Symfony Entornos Por naturaleza Synfony, prevee la existencia de 3 entronos: DEV: Entorno de desarrollo TEST: Entorno de pruebas PROD: Entorno de Producci´n o Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 16 / 33
  • 17. Caracter´ ısticas de un Proyecto Symfony Creaci´n de un proyecto o Instrucci´n o symfony init-project libros Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 17 / 33
  • 18. Caracter´ ısticas de un Proyecto Symfony Que gener´ esto? o Una estructura jer´rquica de directorios: a Apps C´digo de las aplicaciones o Batch Scripts para la l´ ınea de comandos Cache Cach´ de la conguraci´n e o Cong Conguraci´n global del proyecto o Data Schema SQL, datos de prueba Lib El modelo y bibliotecas de terceros Log Registros de actividad de Symfony Plugins Plugins instalados para la el proyecto Test Pruebas de testeo Web Ra´ web: CSSs, JSs, etc. ız Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 18 / 33
  • 19. Creaci´n de un proyecto o Pasos para crear un proyecto 1 Crear el proyecto 2 Crear la aplicaci´n o 3 Crear el c´digo del modelo de datos o 4 Generar el modelo de datos 5 Crear la base de datos (SQL) 6 Generar los CRUDs 7 Adecuar los templates (CSS y/o JavaScript) 8 Publicar la Aplicaci´n o Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 19 / 33
  • 20. Creaci´n de un proyecto o 1. Creaci´n de un proyecto o Instrucci´n o symfony init-project libros Detalles del proyecto >> dir+ /home/jesaavedra/aplic_web/symfony/libros/batch >> dir+ /home/jesaavedra/aplic_web/symfony/libros/test >> dir+ /home/jesaavedra/aplic_web/symfony/libros/test/unit >> dir+ /home/jesaavedra/aplic_web/symfony/libros/test/functional ..... >> dir+ /home/jesaavedra/aplic_web/symfony/libros/web/images >> dir+ /home/jesaavedra/aplic_web/symfony/libros/web/js >> file+ /home/jesaavedra/aplic_web/symfony/libros/web/robots.txt >> dir+ /home/jesaavedra/aplic_web/symfony/libros/web/uploads .... >> dir+ /home/jesaavedra/aplic_web/symfony/libros/plugins >> dir+ /home/jesaavedra/aplic_web/symfony/libros/config >> file+ /home/jesaavedra/aplic_web/symfony/libros/config/schema.yml >> file+ /home/jesaavedra/aplic_web/symfony/libros/config/databases.yml .... >> tokens /home/jesaavedra/aplic_web/symfony/libros/config/propel.ini >> tokens /home/jesaavedra/aplic_web/symfony/libros/config/propel.ini >> tokens /home/jesaavedra/aplic_web/symfony/libros/config/config.php >> chmod 777 /home/jesaavedra/aplic_web/symfony/libros/cache >> chmod 777 /home/jesaavedra/aplic_web/symfony/libros/log ..... Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 20 / 33
  • 21. Creaci´n de un proyecto o 2. Creaci´n de la aplicaci´n o o Instrucci´n o symfony init-app libros Detalles de la aplicac’on >> dir+ /home/jesaavedra/aplic_web/symfony/libros/apps/libros/config >> file+ /home/jesaavedra/aplic_web/symf...apps/libros/config/security.yml >> file+ /home/jesaavedra/aplic_web/symf...bros/apps/libros/config/app.yml >> file+ /home/jesaavedra/aplic_web/symf...os/apps/libros/config/cache.yml >> file+ /home/jesaavedra/aplic_web/symf...ros/apps/libros/config/i18n.yml >> file+ /home/jesaavedra/aplic_web/symf...pps/libros/config/factories.yml >> file+ /home/jesaavedra/aplic_web/symf.../apps/libros/config/routing.yml >> file+ /home/jesaavedra/aplic_web/symf...s/apps/libros/config/config.php >> file+ /home/jesaavedra/aplic_web/symf...apps/libros/config/settings.yml ..... >> tokens /home/jesaavedra/aplic_web/symf...apps/libros/config/settings.yml >> file+ /home/jesaavedra/aplic_web/symfony/libros/web/index.php >> file+ /home/jesaavedra/aplic_web/symfony/libros/web/libros_dev.php >> tokens /home/jesaavedra/aplic_web/symfony/libros/web/index.php >> tokens /home/jesaavedra/aplic_web/symfony/libros/web/libros_dev.php >> chmod 777 /home/jesaavedra/aplic_web/symfony/libros/cache >> chmod 777 /home/jesaavedra/aplic_web/symfony/libros/log >> chmod 777 /home/jesaavedra/aplic_web/symfony/libros/web/uploads >> chmod 777 /home/jesaavedra/aplic_web/symfony/libros/symfony >> chmod 777 web/uploads/assets >> dir+ /home/jesaavedra/aplic_web/symfony/libros/test/functional/libros Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 21 / 33
  • 22. Creaci´n de un proyecto o 3. Crear el c´digo del modelo de datos o Editar el archivo libros/config/schema.yml Detalles del modelo --- propel: cliente: _attributes: { phpName: Cliente } idMethod: native id: type: INTEGER required: true autoIncrement: true primaryKey: true paterno: type: VARCHAR size: 25 materno: type: VARCHAR size: 25 nombre: type: VARCHAR size: 25 ci: type: VARCHAR size: 10 direccion: type: VARCHAR size: 75 .......... Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 22 / 33
  • 23. Creaci´n de un proyecto o 4. Generar el modelo de datos Instrucci´n o symfony propel-build-model Detalles de la generaci´n del modelo o [propel-om] Target database type: mysql [propel-om] Target package: lib.model [propel-om] Using template path: /usr/share/php/symfony/vendor/propel-generator/templates [propel-om] Output directory: /home/jesaavedra/aplic_web/symfony/libros [propel-om] Processing: generated-schema.xml [propel-om] Processing Datamodel : JoinedDataModel [propel-om] - processing database : propel [propel-om] + cliente [propel-om] -> BaseClientePeer [builder: SfPeerBuilder] [propel-om] -> BaseCliente [builder: SfObjectBuilder] [propel-om] -> ClienteMapBuilder [builder: SfMapBuilderBuilder] [propel-om] -> ClientePeer [builder: SfExtensionPeerBuilder] [propel-om] -> Cliente [builder: SfExtensionObjectBuilder] [propel-om] + libro [propel-om] -> BaseLibroPeer [builder: SfPeerBuilder] [propel-om] -> BaseLibro [builder: SfObjectBuilder] [propel-om] -> LibroMapBuilder [builder: SfMapBuilderBuilder] [propel-om] -> LibroPeer [builder: SfExtensionPeerBuilder] [propel-om] -> Libro [builder: SfExtensionObjectBuilder] ..... Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 23 / 33
  • 24. Creaci´n de un proyecto o 5. Generando el SQL de creaci´n de la BD o Instrucci´n o symfony propel-build-sql Sal´ ıda ...... propel > sql: [echo] +------------------------------------------+ [echo] | | [echo] | Generating SQL for YOUR Propel project! | [echo] | | [echo] +------------------------------------------+ [phingcall] Calling Buildfile ’/usr/share/php/symfony/vendor/propel-generator/build-propel.xml’ with target ’sq [property] Loading /usr/share/php/symfony/vendor/propel-generator/./default.properties propel > sql-template: [propel-sql] Processing: generated-schema.xml [propel-sql] Writing to SQL file: /home/jesaavedra/aplic_web/symfony/libros/data/sql/lib.model.schema.sql [propel-sql] + cliente [builder: MysqlDDLBuilder] [propel-sql] + compra [builder: MysqlDDLBuilder] [propel-sql] + libro [builder: MysqlDDLBuilder] [propel-sql] + pago [builder: MysqlDDLBuilder] BUILD FINISHED Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 24 / 33
  • 25. Creaci´n de un proyecto o 6. Generando los CRUDs Instrucci´n o symfony propel-generate-crud libros cliente Cliente Sal´ ıda >> dir+ /home/jesaavedra/aplic_web/symf.../libros/modules/cliente/actions >> file+ /home/jesaavedra/aplic_web/symf...iente/actions/actions.class.php >> dir+ /home/jesaavedra/aplic_web/symf...ibros/modules/cliente/templates >> file+ /home/jesaavedra/aplic_web/symf...iente/templates/editSuccess.php >> file+ /home/jesaavedra/aplic_web/symf...iente/templates/listSuccess.php >> file+ /home/jesaavedra/aplic_web/symf...iente/templates/showSuccess.php >> tokens /home/jesaavedra/aplic_web/symf...iente/actions/actions.class.php >> tokens /home/jesaavedra/aplic_web/symf...iente/actions/actions.class.php >> tokens /home/jesaavedra/aplic_web/symf...iente/templates/editSuccess.php >> tokens /home/jesaavedra/aplic_web/symf...iente/templates/listSuccess.php >> tokens /home/jesaavedra/aplic_web/symf...iente/templates/showSuccess.php >> file+ /home/jesaavedra/aplic_web/symf...l/libros/clienteActionsTest.php >> tokens /home/jesaavedra/aplic_web/symf...l/libros/clienteActionsTest.php >> file- /home/jesaavedra/aplic_web/symf...iente/templates/showSuccess.php >> file- /home/jesaavedra/aplic_web/symf...iente/templates/listSuccess.php >> file- /home/jesaavedra/aplic_web/symf...iente/templates/editSuccess.php >> dir- /home/jesaavedra/aplic_web/symf...bfb75802c/autoCliente/templates >> file- /home/jesaavedra/aplic_web/symf...iente/actions/actions.class.php >> dir- /home/jesaavedra/aplic_web/symf...f1bfb75802c/autoCliente/actions >> dir- /home/jesaavedra/aplic_web/symf...eb341f72f1bfb75802c/autoCliente Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 25 / 33
  • 26. Creaci´n de un proyecto o Acceso al proyecto Instrucci´n o http://libros Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 26 / 33
  • 27. Creaci´n de un proyecto o Adecuaciones Una vez generada gran parte del proyecto (forma muy general), se puede proceder a realizar adecuaciones en: Controlador (actions) Vistas (templates) Formas de acceso en las URL (routing ) Validacion de formularios Efectos especiales Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 27 / 33
  • 28. Creaci´n de un proyecto o Proyecto desplegado Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 28 / 33
  • 29. Demostraci´n o Ejemplo de aplicacion desarrollada Demostraci´n o Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 29 / 33
  • 30. Conclusiones Conclusiones Symfony: Tiene todo lo necesario para desarrollar aplicaciones Web Soporta Ajax Posee buena documentaci´n o Es multiplataforma Esta en constante desarrollo (muchas funcionalidades en base plugins) Al tener como aliado a las metodolog´ de desarrollo Ag´ (XP, ıas ıles AD), se convierte en un fuerte candidatos para desarrollo de aplicaciones web. Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 30 / 33
  • 31. Referencias Referencias http://www.symfony-project.com http://www.symfony.es Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 31 / 33
  • 32. Referencias Preguntas Preguntas Preguntas, dudas, consultas, ... Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 32 / 33
  • 33. Referencias Agradecimientos Gracias... Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el Desarrollo Web - Symfony o Nov. 2007 33 / 33