SlideShare una empresa de Scribd logo
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

Más contenido relacionado

Similar a Symfony parte 4

Symfony parte 6
Symfony parte 6Symfony parte 6
Symfony parte 6
Rodrigo Miranda
 
Symfony Parte 3
Symfony Parte 3Symfony Parte 3
Symfony Parte 3
Rodrigo Miranda
 
Adentrándonos al Framework Symfony
Adentrándonos al  Framework SymfonyAdentrándonos al  Framework Symfony
Adentrándonos al Framework Symfony
Rodrigo 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 frontend
menttes
 
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
IEBSchool
 
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
Franco Cedillo
 
Qué puede aprender Drupal de Plone
Qué puede aprender Drupal de PloneQué puede aprender Drupal de Plone
Qué puede aprender Drupal de Plone
menttes
 
Silex para aplicaciones web MVC
Silex para aplicaciones web MVCSilex para aplicaciones web MVC
Silex para aplicaciones web MVC
Asier Marqués
 
Construyendo RIA con Silverlight 2
Construyendo RIA con Silverlight 2Construyendo RIA con Silverlight 2
Construyendo RIA con Silverlight 2
Christian 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 Avanzado
SergioIglesiasNET
 
Introducción a Silex
Introducción a SilexIntroducción a Silex
Introducción a Silex
Symfony Zaragoza
 
Django - Plataforma de sitios web
Django - Plataforma de sitios webDjango - Plataforma de sitios web
Django - Plataforma de sitios web
jcarazo
 
Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2
Edgar Dueñas
 
Symfony
SymfonySymfony
Symfony
alphalinux
 
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 web
sergiovier
 
#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 symfony2
Mario IC
 

Similar a 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
 

Más de Rodrigo Miranda

Symfony Pruebas Unitarias
Symfony Pruebas UnitariasSymfony Pruebas Unitarias
Symfony Pruebas Unitarias
Rodrigo Miranda
 
Symfony Consultas Sql Criterion Hydrate
Symfony Consultas Sql Criterion  HydrateSymfony Consultas Sql Criterion  Hydrate
Symfony Consultas Sql Criterion Hydrate
Rodrigo Miranda
 
Symfony Consultas Sql Criterion Hydrate
Symfony Consultas Sql Criterion  HydrateSymfony Consultas Sql Criterion  Hydrate
Symfony Consultas Sql Criterion Hydrate
Rodrigo Miranda
 
Symfony parte 13
Symfony parte 13Symfony parte 13
Symfony parte 13
Rodrigo Miranda
 
Symfony parte 18
Symfony parte 18Symfony parte 18
Symfony parte 18
Rodrigo Miranda
 
Symfony parte 17
Symfony parte 17Symfony parte 17
Symfony parte 17
Rodrigo Miranda
 
Symfony parte 16
Symfony parte 16Symfony parte 16
Symfony parte 16
Rodrigo 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ón
Rodrigo 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áginador
Rodrigo Miranda
 
Symfony parte 12
Symfony parte 12Symfony parte 12
Symfony parte 12
Rodrigo Miranda
 
Symfony parte 10
Symfony parte 10Symfony parte 10
Symfony parte 10
Rodrigo Miranda
 
Symfony parte 9
Symfony parte 9Symfony parte 9
Symfony parte 9
Rodrigo Miranda
 
Symfony parte 8
Symfony parte 8Symfony parte 8
Symfony parte 8
Rodrigo Miranda
 
Symfony parte 7
Symfony parte 7Symfony parte 7
Symfony parte 7
Rodrigo Miranda
 
Symfony parte 6
Symfony parte 6Symfony parte 6
Symfony parte 6
Rodrigo Miranda
 
Adentrándonos a PHP 5
Adentrándonos a PHP 5Adentrándonos a PHP 5
Adentrándonos a PHP 5
Rodrigo Miranda
 
Introducción Nivelación PHP
Introducción Nivelación PHPIntroducción Nivelación PHP
Introducción Nivelación PHP
Rodrigo 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 Moodle
Rodrigo 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 Moodle
Rodrigo 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
 

Más 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
 

Último

Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
44652726
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
cj3806354
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
jjfch3110
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 

Último (20)

Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 

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