SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Similaire à 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
 

Similaire à 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
 

Plus de 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
 

Plus de 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
 

Dernier

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
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
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
 
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
 
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
 
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
 
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
 
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
 

Dernier (10)

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
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
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
 
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
 
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)
 
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
 
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
 
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