SlideShare a Scribd company logo
1 of 18
Symfony
              Parte 4

 Rodrigo Miranda
    rmiranda@poodu.cl
contacto@rodrigomiranda.cl
http://www.rodrigomiranda.cl
Recomendaciones
para
el

      Desarrollo




            Rodrigo Miranda
        Blog: www.rodrigomiranda.cl
Recomendaciones




  Extensiones para desarrollar en Firefox:


•  Firebug. (esencial para desarrolladores)
   https://addons.mozilla.org/en-US/firefox/addon/1843



•  Pencil Sketching (para diseñar bocetos).
   https://addons.mozilla.org/es-ES/firefox/addon/8487




                           Rodrigo Miranda
                       Blog: www.rodrigomiranda.cl
Pantalla
Administrador




           Rodrigo Miranda
       Blog: www.rodrigomiranda.cl
Pantalla Administrador




                             Rodrigo Miranda
                         Blog: www.rodrigomiranda.cl
Pantalla Público




                       Rodrigo Miranda
                   Blog: www.rodrigomiranda.cl
Modelo
de
Datos




        Rodrigo Miranda
    Blog: www.rodrigomiranda.cl
Modelo Dato Básico




                         Rodrigo Miranda
                     Blog: www.rodrigomiranda.cl
Modelo de Datos


  Crear Base de Datos y Usuario:

# mysql –u root -p
mysql> create database encuestabd default character set utf8 collate
utf8_general_ci;
mysql> grant all on encuestabd.* to encuesta@localhost IDENTIFIED BY
‘encuesta22’;
mysql> flush privileges;




                               Rodrigo Miranda
                           Blog: www.rodrigomiranda.cl
Modelo de Datos




  Importamos la estructura de las tablas desde la
   plataforma e-learning:

•  Directorio recurso del bloque número 5.
   http://gestion.poodu.cl

•  En ese lugar también encuentran el schema.yml




                           Rodrigo Miranda
                       Blog: www.rodrigomiranda.cl
Modelo de Datos


  Modificamos archivo propel.ini de nuestro proyecto:

  # vim /directorio/web/encuesta/config/propel.ini


 propel.database.url         =
    mysql:dbname=encuestabd;host=localhost
 propel.database.creole.url = ${propel.database.url}
 propel.database.user        = encuesta
 propel.database.password = encuesta22
 propel.database.encoding = utf8
 ; mysql options
 propel.mysql.tableType     = InnoDB

                              Rodrigo Miranda
                          Blog: www.rodrigomiranda.cl
Modelo de Datos


   Modificamos archivo databases.yml de nuestro
    proyecto:
  # vim /directorio/web/encuesta/config/databases.yml
  all:
   propel:
     class:      sfPropelDatabase
     param:
       classname: PropelPDO
       dsn:      mysql:dbname=encuestabd;host=localhost
       username: encuesta
       password: encuesta22
       encoding: utf8
       persistent: true
       pooling: true
                               Rodrigo Miranda
                           Blog: www.rodrigomiranda.cl
Modelo de Datos

   Construir Modelo a partir de una Base de Datos.

  •  Symfony puede utilizar la capa de acceso a base de datos
     proporcionada por Propel para generar un archivo
     schema.yml a partir de una base de datos existente.

  •  Se trata de una opción muy útil cuando se prefiere trabajar
     primero en la base de datos antes de trabajar con el modelo
     de Objetos.

  •  Para construir el Modelo a partir de la Base de Datos, el
     archivo databases.yml del proyecto debe apuntar a la base
     de datos correcta y debe tener todas las opciones de
     conexión.
                            Rodrigo Miranda
                        Blog: www.rodrigomiranda.cl
Modelo de Datos


  •  A continuación vamos a generar un archivo schema.yml a
     partir de la estructura de la base de datos. Una vez creado
     lo encontraremos en el directorio config/ del proyecto.

     # cd /directorio/web/encuesta
     #./symfony propel:build-schema
  •  Ahora se puede construir el modelo a partir del esquema
     generado.

  •  Este comando es bastantes potente, pero el formato YAML no
     soporta algunas características por lo que es conveniente
     generar un archivo XML.

                            Rodrigo Miranda
                        Blog: www.rodrigomiranda.cl
Modelo de Datos




  •  Construcción del Modelo de Objetos: Para generar las
     clases del modelo de objetos tomando como referencia el
     archivo schema construido en el paso anterior, utilizamos la
     siguiente sentencia dentro del directorio del proyecto.



    #./symfony propel:build-model




                            Rodrigo Miranda
                        Blog: www.rodrigomiranda.cl
Clases Formulario




  Construir
Formularios
  •  Symfony a partir de la versión 1.1 incorporó un
     subframework para Formularios. Esto permite controlar uno
     de los procesos más tediosos en la construcción de
     aplicaciones. Una vez creado el Modelo, vamos a construir
     los formularios con el siguiente comando ejecutado en la
     raíz del proyecto.

   #./symfony propel:build-forms




                           Rodrigo Miranda
                       Blog: www.rodrigomiranda.cl
Seguridad




  Construir
Filtros
  •  El mecanismo de seguridad puede ser entendido como un
     filtro. Por él pasan las peticiones antes de ejecutar una
     acción. Según las comprobaciones realizadas en el filtro, se
     puede modificar el procesamiento de la petición. Más
     adelante profundizaremos al respecto.

   #./symfony propel:build-filters




                            Rodrigo Miranda
                        Blog: www.rodrigomiranda.cl
Preguntas?




    Rodrigo Miranda
Blog: www.rodrigomiranda.cl

More Related Content

Similar to Symfony parte 4

Adentrándonos al Framework Symfony
Adentrándonos al  Framework SymfonyAdentrándonos al  Framework Symfony
Adentrándonos al Framework SymfonyRodrigo Miranda
 
Combinación ganadora: Plone como CMS, tu framework preferido como frontend
Combinación ganadora: Plone como CMS, tu framework preferido como frontendCombinación ganadora: Plone como CMS, tu framework preferido como frontend
Combinación ganadora: Plone como CMS, tu framework preferido como frontendmenttes
 
Symfony2 un framework para maximizar tu productividad en desarrollo web
Symfony2 un framework para maximizar tu productividad en desarrollo webSymfony2 un framework para maximizar tu productividad en desarrollo web
Symfony2 un framework para maximizar tu productividad en desarrollo webIEBSchool
 
Migrando un módulo Field Formatter a Drupal 8
Migrando un módulo Field Formatter a Drupal 8Migrando un módulo Field Formatter a Drupal 8
Migrando un módulo Field Formatter a Drupal 8Franco Cedillo
 
Qué puede aprender Drupal de Plone
Qué puede aprender Drupal de PloneQué puede aprender Drupal de Plone
Qué puede aprender Drupal de Plonementtes
 
Silex para aplicaciones web MVC
Silex para aplicaciones web MVCSilex para aplicaciones web MVC
Silex para aplicaciones web MVCAsier Marqués
 
Construyendo RIA con Silverlight 2
Construyendo RIA con Silverlight 2Construyendo RIA con Silverlight 2
Construyendo RIA con Silverlight 2Christian Strevel
 
J!D Barcelona 2009 - Taller Plantillas Avanzado
J!D Barcelona 2009 - Taller Plantillas AvanzadoJ!D Barcelona 2009 - Taller Plantillas Avanzado
J!D Barcelona 2009 - Taller Plantillas AvanzadoSergioIglesiasNET
 
Django - Plataforma de sitios web
Django - Plataforma de sitios webDjango - Plataforma de sitios web
Django - Plataforma de sitios webjcarazo
 
Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2Edgar Dueñas
 
Joomla!Day 2013 España - Taller de Desarrollo de Plantillas Joomla! - Sergio ...
Joomla!Day 2013 España - Taller de Desarrollo de Plantillas Joomla! - Sergio ...Joomla!Day 2013 España - Taller de Desarrollo de Plantillas Joomla! - Sergio ...
Joomla!Day 2013 España - Taller de Desarrollo de Plantillas Joomla! - Sergio ...SergioIglesiasNET
 
Mi primera app con GAE y GWT
Mi primera app con GAE y GWTMi primera app con GAE y GWT
Mi primera app con GAE y GWTGDG Lima
 
Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!Ricard Luquero
 
Symfony: construyendo aplicaciones web
Symfony: construyendo aplicaciones webSymfony: construyendo aplicaciones web
Symfony: construyendo aplicaciones websergiovier
 
#JoomlaIO - Desarrollo de Plantillas para Joomla!
#JoomlaIO - Desarrollo de Plantillas para Joomla!#JoomlaIO - Desarrollo de Plantillas para Joomla!
#JoomlaIO - Desarrollo de Plantillas para Joomla!SergioIglesiasNET
 
Taller introduccion symfony2
Taller introduccion symfony2Taller introduccion symfony2
Taller introduccion symfony2Mario IC
 

Similar to Symfony parte 4 (20)

Symfony parte 6
Symfony parte 6Symfony parte 6
Symfony parte 6
 
Symfony Parte 3
Symfony Parte 3Symfony Parte 3
Symfony Parte 3
 
Adentrándonos al Framework Symfony
Adentrándonos al  Framework SymfonyAdentrándonos al  Framework Symfony
Adentrándonos al Framework Symfony
 
Combinación ganadora: Plone como CMS, tu framework preferido como frontend
Combinación ganadora: Plone como CMS, tu framework preferido como frontendCombinación ganadora: Plone como CMS, tu framework preferido como frontend
Combinación ganadora: Plone como CMS, tu framework preferido como frontend
 
Symfony2 un framework para maximizar tu productividad en desarrollo web
Symfony2 un framework para maximizar tu productividad en desarrollo webSymfony2 un framework para maximizar tu productividad en desarrollo web
Symfony2 un framework para maximizar tu productividad en desarrollo web
 
Migrando un módulo Field Formatter a Drupal 8
Migrando un módulo Field Formatter a Drupal 8Migrando un módulo Field Formatter a Drupal 8
Migrando un módulo Field Formatter a Drupal 8
 
Qué puede aprender Drupal de Plone
Qué puede aprender Drupal de PloneQué puede aprender Drupal de Plone
Qué puede aprender Drupal de Plone
 
Silex para aplicaciones web MVC
Silex para aplicaciones web MVCSilex para aplicaciones web MVC
Silex para aplicaciones web MVC
 
Construyendo RIA con Silverlight 2
Construyendo RIA con Silverlight 2Construyendo RIA con Silverlight 2
Construyendo RIA con Silverlight 2
 
J!D Barcelona 2009 - Taller Plantillas Avanzado
J!D Barcelona 2009 - Taller Plantillas AvanzadoJ!D Barcelona 2009 - Taller Plantillas Avanzado
J!D Barcelona 2009 - Taller Plantillas Avanzado
 
Introducción a Silex
Introducción a SilexIntroducción a Silex
Introducción a Silex
 
Django - Plataforma de sitios web
Django - Plataforma de sitios webDjango - Plataforma de sitios web
Django - Plataforma de sitios web
 
Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2
 
Symfony
SymfonySymfony
Symfony
 
Joomla!Day 2013 España - Taller de Desarrollo de Plantillas Joomla! - Sergio ...
Joomla!Day 2013 España - Taller de Desarrollo de Plantillas Joomla! - Sergio ...Joomla!Day 2013 España - Taller de Desarrollo de Plantillas Joomla! - Sergio ...
Joomla!Day 2013 España - Taller de Desarrollo de Plantillas Joomla! - Sergio ...
 
Mi primera app con GAE y GWT
Mi primera app con GAE y GWTMi primera app con GAE y GWT
Mi primera app con GAE y GWT
 
Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!Php Bitter Sweet Symfony!
Php Bitter Sweet Symfony!
 
Symfony: construyendo aplicaciones web
Symfony: construyendo aplicaciones webSymfony: construyendo aplicaciones web
Symfony: construyendo aplicaciones web
 
#JoomlaIO - Desarrollo de Plantillas para Joomla!
#JoomlaIO - Desarrollo de Plantillas para Joomla!#JoomlaIO - Desarrollo de Plantillas para Joomla!
#JoomlaIO - Desarrollo de Plantillas para Joomla!
 
Taller introduccion symfony2
Taller introduccion symfony2Taller introduccion symfony2
Taller introduccion symfony2
 

More from Rodrigo Miranda

Symfony Pruebas Unitarias
Symfony Pruebas UnitariasSymfony Pruebas Unitarias
Symfony Pruebas UnitariasRodrigo Miranda
 
Symfony Consultas Sql Criterion Hydrate
Symfony Consultas Sql Criterion  HydrateSymfony Consultas Sql Criterion  Hydrate
Symfony Consultas Sql Criterion HydrateRodrigo Miranda
 
Symfony Consultas Sql Criterion Hydrate
Symfony Consultas Sql Criterion  HydrateSymfony Consultas Sql Criterion  Hydrate
Symfony Consultas Sql Criterion HydrateRodrigo Miranda
 
Symfony parte 15 Consultas y Migración
Symfony parte 15 Consultas y MigraciónSymfony parte 15 Consultas y Migración
Symfony parte 15 Consultas y MigraciónRodrigo Miranda
 
Symfony parte 14 Consultas SQL - Páginador
Symfony parte 14 Consultas SQL - PáginadorSymfony parte 14 Consultas SQL - Páginador
Symfony parte 14 Consultas SQL - PáginadorRodrigo Miranda
 
Introducción Nivelación PHP
Introducción Nivelación PHPIntroducción Nivelación PHP
Introducción Nivelación PHPRodrigo Miranda
 
Ticnet Capacita en la Plataforma de Aprendizaje Moodle
Ticnet Capacita en la Plataforma de Aprendizaje MoodleTicnet Capacita en la Plataforma de Aprendizaje Moodle
Ticnet Capacita en la Plataforma de Aprendizaje MoodleRodrigo Miranda
 
Ticnet capacita en Plataforma de Aprendizaje Moodle
Ticnet capacita en Plataforma de Aprendizaje MoodleTicnet capacita en Plataforma de Aprendizaje Moodle
Ticnet capacita en Plataforma de Aprendizaje MoodleRodrigo Miranda
 
Ticnet Capacita en la Plataforma de Aprendizaje Moodle
Ticnet Capacita en la Plataforma de Aprendizaje Moodle Ticnet Capacita en la Plataforma de Aprendizaje Moodle
Ticnet Capacita en la Plataforma de Aprendizaje Moodle Rodrigo Miranda
 

More from Rodrigo Miranda (20)

Symfony Pruebas Unitarias
Symfony Pruebas UnitariasSymfony Pruebas Unitarias
Symfony Pruebas Unitarias
 
Symfony Consultas Sql Criterion Hydrate
Symfony Consultas Sql Criterion  HydrateSymfony Consultas Sql Criterion  Hydrate
Symfony Consultas Sql Criterion Hydrate
 
Symfony Consultas Sql Criterion Hydrate
Symfony Consultas Sql Criterion  HydrateSymfony Consultas Sql Criterion  Hydrate
Symfony Consultas Sql Criterion Hydrate
 
Symfony parte 13
Symfony parte 13Symfony parte 13
Symfony parte 13
 
Symfony parte 18
Symfony parte 18Symfony parte 18
Symfony parte 18
 
Symfony parte 17
Symfony parte 17Symfony parte 17
Symfony parte 17
 
Symfony parte 16
Symfony parte 16Symfony parte 16
Symfony parte 16
 
Symfony parte 15 Consultas y Migración
Symfony parte 15 Consultas y MigraciónSymfony parte 15 Consultas y Migración
Symfony parte 15 Consultas y Migración
 
Symfony parte 14 Consultas SQL - Páginador
Symfony parte 14 Consultas SQL - PáginadorSymfony parte 14 Consultas SQL - Páginador
Symfony parte 14 Consultas SQL - Páginador
 
Symfony parte 12
Symfony parte 12Symfony parte 12
Symfony parte 12
 
Symfony parte 10
Symfony parte 10Symfony parte 10
Symfony parte 10
 
Symfony parte 9
Symfony parte 9Symfony parte 9
Symfony parte 9
 
Symfony parte 8
Symfony parte 8Symfony parte 8
Symfony parte 8
 
Symfony parte 7
Symfony parte 7Symfony parte 7
Symfony parte 7
 
Symfony parte 6
Symfony parte 6Symfony parte 6
Symfony parte 6
 
Adentrándonos a PHP 5
Adentrándonos a PHP 5Adentrándonos a PHP 5
Adentrándonos a PHP 5
 
Introducción Nivelación PHP
Introducción Nivelación PHPIntroducción Nivelación PHP
Introducción Nivelación PHP
 
Ticnet Capacita en la Plataforma de Aprendizaje Moodle
Ticnet Capacita en la Plataforma de Aprendizaje MoodleTicnet Capacita en la Plataforma de Aprendizaje Moodle
Ticnet Capacita en la Plataforma de Aprendizaje Moodle
 
Ticnet capacita en Plataforma de Aprendizaje Moodle
Ticnet capacita en Plataforma de Aprendizaje MoodleTicnet capacita en Plataforma de Aprendizaje Moodle
Ticnet capacita en Plataforma de Aprendizaje Moodle
 
Ticnet Capacita en la Plataforma de Aprendizaje Moodle
Ticnet Capacita en la Plataforma de Aprendizaje Moodle Ticnet Capacita en la Plataforma de Aprendizaje Moodle
Ticnet Capacita en la Plataforma de Aprendizaje Moodle
 

Recently uploaded

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 

Recently uploaded (16)

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 

Symfony parte 4

  • 1. Symfony Parte 4 Rodrigo Miranda rmiranda@poodu.cl contacto@rodrigomiranda.cl http://www.rodrigomiranda.cl
  • 2. Recomendaciones
para
el
 Desarrollo
 Rodrigo Miranda Blog: www.rodrigomiranda.cl
  • 3. Recomendaciones   Extensiones para desarrollar en Firefox: •  Firebug. (esencial para desarrolladores) https://addons.mozilla.org/en-US/firefox/addon/1843 •  Pencil Sketching (para diseñar bocetos). https://addons.mozilla.org/es-ES/firefox/addon/8487 Rodrigo Miranda Blog: www.rodrigomiranda.cl
  • 4. Pantalla
Administrador
 Rodrigo Miranda Blog: www.rodrigomiranda.cl
  • 5. Pantalla Administrador Rodrigo Miranda Blog: www.rodrigomiranda.cl
  • 6. Pantalla Público Rodrigo Miranda Blog: www.rodrigomiranda.cl
  • 7. Modelo
de
Datos
 Rodrigo Miranda Blog: www.rodrigomiranda.cl
  • 8. Modelo Dato Básico Rodrigo Miranda Blog: www.rodrigomiranda.cl
  • 9. Modelo de Datos  Crear Base de Datos y Usuario: # mysql –u root -p mysql> create database encuestabd default character set utf8 collate utf8_general_ci; mysql> grant all on encuestabd.* to encuesta@localhost IDENTIFIED BY ‘encuesta22’; mysql> flush privileges; Rodrigo Miranda Blog: www.rodrigomiranda.cl
  • 10. Modelo de Datos   Importamos la estructura de las tablas desde la plataforma e-learning: •  Directorio recurso del bloque número 5. http://gestion.poodu.cl •  En ese lugar también encuentran el schema.yml Rodrigo Miranda Blog: www.rodrigomiranda.cl
  • 11. Modelo de Datos  Modificamos archivo propel.ini de nuestro proyecto: # vim /directorio/web/encuesta/config/propel.ini propel.database.url = mysql:dbname=encuestabd;host=localhost propel.database.creole.url = ${propel.database.url} propel.database.user = encuesta propel.database.password = encuesta22 propel.database.encoding = utf8 ; mysql options propel.mysql.tableType = InnoDB Rodrigo Miranda Blog: www.rodrigomiranda.cl
  • 12. Modelo de Datos  Modificamos archivo databases.yml de nuestro proyecto: # vim /directorio/web/encuesta/config/databases.yml all: propel: class: sfPropelDatabase param: classname: PropelPDO dsn: mysql:dbname=encuestabd;host=localhost username: encuesta password: encuesta22 encoding: utf8 persistent: true pooling: true Rodrigo Miranda Blog: www.rodrigomiranda.cl
  • 13. Modelo de Datos  Construir Modelo a partir de una Base de Datos. •  Symfony puede utilizar la capa de acceso a base de datos proporcionada por Propel para generar un archivo schema.yml a partir de una base de datos existente. •  Se trata de una opción muy útil cuando se prefiere trabajar primero en la base de datos antes de trabajar con el modelo de Objetos. •  Para construir el Modelo a partir de la Base de Datos, el archivo databases.yml del proyecto debe apuntar a la base de datos correcta y debe tener todas las opciones de conexión. Rodrigo Miranda Blog: www.rodrigomiranda.cl
  • 14. Modelo de Datos •  A continuación vamos a generar un archivo schema.yml a partir de la estructura de la base de datos. Una vez creado lo encontraremos en el directorio config/ del proyecto. # cd /directorio/web/encuesta #./symfony propel:build-schema •  Ahora se puede construir el modelo a partir del esquema generado. •  Este comando es bastantes potente, pero el formato YAML no soporta algunas características por lo que es conveniente generar un archivo XML. Rodrigo Miranda Blog: www.rodrigomiranda.cl
  • 15. Modelo de Datos •  Construcción del Modelo de Objetos: Para generar las clases del modelo de objetos tomando como referencia el archivo schema construido en el paso anterior, utilizamos la siguiente sentencia dentro del directorio del proyecto. #./symfony propel:build-model Rodrigo Miranda Blog: www.rodrigomiranda.cl
  • 16. Clases Formulario Construir
Formularios •  Symfony a partir de la versión 1.1 incorporó un subframework para Formularios. Esto permite controlar uno de los procesos más tediosos en la construcción de aplicaciones. Una vez creado el Modelo, vamos a construir los formularios con el siguiente comando ejecutado en la raíz del proyecto. #./symfony propel:build-forms Rodrigo Miranda Blog: www.rodrigomiranda.cl
  • 17. Seguridad Construir
Filtros •  El mecanismo de seguridad puede ser entendido como un filtro. Por él pasan las peticiones antes de ejecutar una acción. Según las comprobaciones realizadas en el filtro, se puede modificar el procesamiento de la petición. Más adelante profundizaremos al respecto. #./symfony propel:build-filters Rodrigo Miranda Blog: www.rodrigomiranda.cl
  • 18. Preguntas?
 Rodrigo Miranda Blog: www.rodrigomiranda.cl