El documento describe los pasos para crear una aplicación Symfony. Incluye definir aplicaciones y modelo de datos, crear el proyecto y aplicaciones, construir el modelo, y crear módulos. También cubre configurar el servidor web, generar clases del modelo a partir de la base de datos, y la diferencia entre clases de objetos y peers.
4. Rodrigo Miranda Blog: www.rodrigomiranda.cl El listado de las versiones lo puedes encontrar en la siguiente URL: http://svn.symfony-project.com/tags/ El release a descargar para producción, debe considerar siempre la última versión ESTABLE. Desarrollando una Aplicación
15. Rodrigo Miranda Blog: www.rodrigomiranda.cl Proyectos, Aplicación y Módulos 1. Proyecto Microblog: Definición de Aplicaciones
16. Rodrigo Miranda Blog: www.rodrigomiranda.cl Proyectos, Aplicación y Módulos 2. Definición de Modelo de Datos:
17. Rodrigo Miranda Blog: www.rodrigomiranda.cl Proyectos, Aplicación y Módulos 3.1. Crear el proyecto Blog: Dependiendo del sistema operativo y de la instalación realizada, puede ser necesario utilizar el prefijo php antes de cada comando Symfony. O: # php /versiones-symfony/symfonyx_x_x/data/bin/symfony generate:project blog # /versiones-symfony/symfonyx_x_x/data/bin/./symfony generate:project blog # mkdir /directorio/web/blog # cd /directorio/web/blog
18. Rodrigo Miranda Blog: www.rodrigomiranda.cl Proyectos, Aplicación y Módulos 3.2. Crear las aplicaciones publico y administrador del proyecto Blog: # cd /directorio/web/blog # ./symfony generate:app publico # ./symfony generate:app administrador
21. Rodrigo Miranda Blog: www.rodrigomiranda.cl Configuración del Servidor Web <VirtualHost *:80> ServerName blog.localhost DocumentRoot /directorio/web/blog/web DirectoryIndex index.php Alias /sf /versiones-symfony/symfonyx_x_x/data/web/sf Errorlog /var/log/httpd/blogError.log CustomLog /var/log/httpd/accessBlog.log common <Directory /versiones-symfony/symfonyx_x_x/data/web/sf> AllowOverride All Allow from All </Directory> <Directory /directorio/web/blog/web> Allowoverride All Allow from All </Directory> </VirtualHost>
22.
23.
24.
25.
26. Rodrigo Miranda Blog: www.rodrigomiranda.cl Proyecto, Aplicaciones y Módulos 4. Construir el Modelo: 4.1 – Protegiendo la Base de Datos: # mysql –u root -p mysql> use mysql; mysql> update user set password=PASSWORD(‘cl1v3ade4’) where user=‘root’; mysql> flush privileges; mysql>
27. Rodrigo Miranda Blog: www.rodrigomiranda.cl 4.2 Crear Base de Datos y Usuario: Proyecto, Aplicaciones y Módulos # mysql –u root -p mysql> create database blog default character set utf8 collate utf8_general_ci; mysql> grant all on blog.* to conicyt@localhost IDENTIFIED BY ‘c00ny’; mysql> flush privileges;
28. Rodrigo Miranda Blog: www.rodrigomiranda.cl 4. Construir el Modelo: 4.1 – Tabla articulo: CREATE TABLE IF NOT EXISTS `blog_articulo` ( `id` int(11) unsigned NOT NULL auto_increment, `titulo` varchar(255) NOT NULL, `contenido` text NOT NULL, `modificacion` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Mantenedor de Posts' AUTO_INCREMENT=1 ; Proyecto, Aplicaciones y Módulos
29. Rodrigo Miranda Blog: www.rodrigomiranda.cl 4.2 – Tabla comentario: CREATE TABLE IF NOT EXISTS `blog_comentario` ( `id` int(11) unsigned NOT NULL auto_increment, `autor` varchar(255) NOT NULL, `contenido` text NOT NULL, `modificacion` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, `id_blog_articulo` int(11) unsigned NOT NULL, PRIMARY KEY (`id`), KEY `id_blog_articulo` (`id_blog_articulo`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Mantenedor de Comentarios' AUTO_INCREMENT=1 ; Proyecto, Aplicaciones y Módulos
54. Rodrigo Miranda Blog: www.rodrigomiranda.cl A continuación el controlador frontal administrador_dev.php nos muestra una página de error Administrador de la Aplicación