3.3. Crear una aplicación web
Como se vio en el Capítulo 2, Symfony agrupa las aplicaciones relacionadas en proyectos. Todas las aplicaciones de un proyecto comparten la misma base de datos. Por tanto, para crear una aplicación web en primer lugar se debe crear un proyecto.
3.3.1. Crear el Proyecto
Los proyectos de Symfony siguen una estructura de directorios predefinida. Los comandos que proporciona Symfony permiten automatizar la creación de nuevos proyectos, ya que se encargan de crear la estructura de directorios básica del proyecto y con los permisos adecuados. Por tanto, para crear un proyecto se debe crear un directorio y decirle a Symfony que cree un proyecto en su interior.
Si has utilizado la instalación con PEAR, ejecuta los siguientes comandos:
> mkdir ~/miproyecto > cd ~/miproyecto > symfony generate:project miproyecto
Si has instalado Symfony mediante SVN, puedes crear un proyecto con los siguientes comandos:
> mkdir ~/miproyecto > cd ~/miproyecto > php /ruta/hasta/data/bin/symfony generate:project miproyecto
La estructura de directorios creada por Symfony se muestra a continuación:
apps/ cache/ config/ data/ doc/ lib/ log/ plugins/ test/ web/
Truco La tarea generate:project añade un script llamado symfony en el directorio raíz del proyecto. Este script es idéntico al comando symfony que instala PEAR, por lo que se puede utilizar la instrucción php symfony en vez del comando symfony cuando no se dispone de las utilidades de la línea de comandos (lo que sucede cuando se instala Symfony mediante Subversion).
3.3.2. Crear la aplicación
El proyecto recién creado está incompleto, ya que requiere por lo menos de una aplicación. Para crear la aplicación, se utiliza el comando symfony generate:app, al que se le tiene que pasar como argumento el nombre de la nueva aplicación:
> php symfony generate:app frontend
El comando anterior crea un directorio llamado frontend/ dentro del directorio apps/ que se encuentra en la raíz del proyecto. Por defecto se crea una configuración básica de la aplicación y una serie de directorios:
apps/
frontend/
config/
i18n/
lib/
modules/
templates/
En el directorio web del proyecto también se crean algunos archivos PHP correspondientes a los controladores frontales de cada uno de los entornos de ejecución de la aplicación:
web/ index.php frontend_dev.php
El archivo index.php es el controlador frontal de producción de la nueva aplicación. Como se trata de la primera aplicación, Symfony crea un archivo llamado index.php en vez de frontend.php (si después se crea una nueva aplicación llamada por ejemplo backend, el controlador frontal del entorno de producción que se crea se llamará backend.php). Para ejecutar la aplicación en el entorno de desarrollo, se debe ejecutar el controlador frontal llamado frontend_dev.php. Por razones de seguridad el controlador frontal de desarrollo sólo se puede ejecutar por defecto desde localhost. El Capítulo 5 explica en detalle los distintos entornos de ejecución.
El comando symfony siempre se ejecuta en el directorio raíz del proyecto (miproyecto/ en los ejemplos anteriores) porque todas las tareas que ejecuta este comando dependen del proyecto.
Compartir
Indice de contenidos
- 1 Introducción a Symfony
- 2 Explorando el interior de Symfony
- Capítulo 3. Ejecutar aplicaciones Symfony
- 3.1. Instalando el entorno de pruebas
- 3.2. Instalando las librerías de Symfony
- 3.3. Crear una aplicación web
- 3.4. Configurar el servidor web
- 3.5. Resolución de problemas
- 3.6. Versionado del código fuente
- 3.7. Resumen
- 4 Introducción a la creación de páginas
- 5 Configurar Symfony
- 6 El Controlador
- 7 La Vista
- 8 El modelo
- 9 Enlaces y sistema de enrutamiento
- 10 Formularios
- 11 Integración con Ajax
- 12 Uso de la cache
- 13 Internacionalización y localización
- 14 Generador de la parte de administración
- 15 Pruebas unitarias y funcionales
- 16 Herramientas para la administración de aplicaciones
- 17 Personalizar Symfony
- 18 Rendimiento
- 19 Configuración avanzada