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