Symfony 2.3, el libro oficial

3.1. Instalando una distribución de Symfony2

Truco En primer lugar, comprueba que tienes instalado y configurado un servidor web (por ejemplo Apache) con PHP 5.3.8 o superior. Para más información sobre los requisitos de Symfony2, consulta la referencia oficial de requisitos Symfony.

Para más información sobre la configuración del directorio raíz del servidor web que utilices, consulta la siguiente documentación para Apache o para Nginx.

Las "distribuciones" de Symfony2, son aplicaciones totalmente funcionales que incluyen las librerías del núcleo de Symfony2, una selección de paquetes útiles, una estructura de directorios bien pensada y algunos archivos de configuración ya creados. Al descargar una distribución Symfony2, estás descargando el esqueleto de una aplicación funcional que puedes utilizar inmediatamente para comenzar a desarrollar tu aplicación.

Empieza por visitar la página de descarga de Symfony2 en symfony.com/download. En esta página, puedes encontrar la edición estándar de Symfony, que es la distribución principal de Symfony2. Existen dos formas de iniciar tu proyecto:

Opción 1 Composer

Composer es una librería que gestiona las dependencias de los proyectos PHP y que se puede utilizar para descargar la edición estándar de Symfony2.

Empieza por descargar Composer en cualquier directorio de tu ordenador. Si tienes la librería curl instalada, ejecuta el siguiente comando:

$ curl -s https://getcomposer.org/installer | php

Nota Si tu ordenador no puede ejecutar Composer, verás algunos mensajes de error y algunas recomendaciones al ejecutar el comando anterior. Sigue esas recomendaciones para hacer funcionar Composer en tu ordenador.

Composer se distribuye en forma de archivo PHAR ejecutable, que puedes utilizar directamente para descargar la edición estándar de Symfony2 mediante el siguiente comando:

$ php composer.phar create-project symfony/framework-standard-edition /ruta/hasta/directorio-raiz-servidor-web/Symfony 2.3.0

Truco Si quieres descargar una versión exacta del framework, reemplaza 2.3.0 con cualquier versión de Symfony (por ejemplo 2.3.1). Para más detalles, consulta la página de instalación de Symfony.

Truco Para reducir el tiempo de descarga de las dependencias, añade la opción --prefer-dist al final del comando de Composer.

Este comando puede tardar varios minutos en ejecutarse, ya que Composer descarga la distribución estándar de Symfony y todas las librerías que utiliza. Cuando finalice el comando, deberías tener la siguiente estructura de directorios:

www/ <-- este es el directorio raíz de tu servidor web
         (a veces se llama "htdocs" o "public")
    Symfony/ <-- el archivo descomprimido
        app/
            cache/
            config/
            logs/
        src/
            ...
        vendor/
            ...
        web/
            app.php
            ...

Opción 2 Descargar un archivo

También puedes descargar la edición estándar de Symfony mediante un archivo. En este caso, tendrás que tomar dos decisiones:

  • Descargar o bien un archivo .tgz o .zip. Los dos son equivalentes, descarga aquel con el que te sientas más cómodo.
  • Descargar la distribución con o sin vendors. Si tienes instalado Git en tu ordenador, debes descargar Symfony2 "sin vendors", ya que esa versión añade un poco más de flexibilidad cuando incluyas librerías de terceros.

Descarga uno de los archivos en algún lugar bajo el directorio raíz de tu servidor web local y descomprímelo. Si utilizas una línea de comandos, ejecuta las siguientes órdenes (sustituyendo ### por el nombre del archivo real):

# para un archivo .tgz
$ tar zxvf Symfony_Standard_Vendors_2.3.###.tgz

# para un archivo .zip
$ unzip Symfony_Standard_Vendors_2.3.###.zip

Si has descargado la versión sin vendors, no olvides leer la siguiente sección de este capítulo.

Todos los archivos públicos y el controlador frontal que procesa las peticiones en una aplicación Symfony2 se encuentran en el directorio Symfony/web/. Así que si has descomprimido Symfony en el directorio raíz del servidor web, las URL de tu aplicación empezarán siempre por http://localhost/Symfony/web/.

Para hacer que las URL sean más concisas, haz que el directorio raíz del servidor web apunte directamente al directorio Symfony/web/. Aunque esto no es necesario cuando estés desarrollando la aplicación, es muy recomendable cuando pases la aplicación a producción. Consulta la documentación de tu servidor web para saber cómo establecer otro valor para el directorio raíz.

Nota Los siguientes ejemplos asumen que no has cambiado el directorio raíz del servidor web, por lo que todas las URL empiezan por http://localhost/Symfony/web/

3.1.1. Actualizando los vendors

Ahora que ya has descargado una versión completamente funcional de Symfony, ya puedes empezar a desarrollar tu aplicación. Los proyectos Symfony dependen de un montón de librerías externas. Todas estas librerías se descargan en el directorio vendor/ del proyecto mediante la herramienta Composer.

Dependiendo de cómo hayas descargado Symfony, puede ser obligatorio o no descargar sus vendors. En cualquier caso, actualizar los vendors siempre es algo recomendado, ya que te asegura que tienes las versiones más recientes de todas las librerías necesarias.

Primer paso: si no lo has hecho antes, descarga Composer ejecutando el siguiente comando:

$ curl -s http://getcomposer.org/installer | php

Asegúrate de descargar el archivo composer.phar en la misma carpeta donde se encuentra el archivo composer.json del proyecto (es decir, en el directorio raíz del proyecto).

Segundo paso: instala los vendors ejecutando el siguiente comando:

$ php composer.phar install

Este comando descarga tanto Symfony como todas sus librerías en el directorio vendor/ del proyecto.

Nota Si no tienes la librería curl instalada, descarga el instalador manualmente desde la URL http://getcomposer.org/installer. Después, copia ese archivo en el directorio raíz del proyecto y ejecuta lo siguiente:

$ php installer
$ php composer.phar install

Truco Cuando se ejecuta php composer.phar install o php composer.phar update, Composer también ejecuta los comandos que limpian la caché de Symfony e instalan los archivos web del proyecto. Por defecto estos archivos se copian en el directorio web/ del proyecto.

Si prefieres crear enlaces simbólicos en vez de copiar los archivos, puedes hacerlo siempre que tu sistema operativo lo soporte. Para ello, añade una nueva opción bajo la clave extra del archivo composer.json. El nombre de esta opción es symfony-assets-install y su valor debe ser symlink:

"extra": {
    "symfony-app-dir": "app",
    "symfony-web-dir": "web",
    "symfony-assets-install": "symlink"
}

Si utilizas el valor relative en vez de symlink en la opción symfony-assets-install, el comando genera enlaces simbólicos relativos.

3.1.2. Instalando y configurando

En este punto, todas las librerías de terceros necesarias se encuentran en el directorio vendor/. También tienes una instalación predeterminada de la aplicación en app/ y algunos ejemplos de código dentro de src/.

Symfony2 incluye una interfaz visual para probar la configuración del servidor, lo que es muy útil para ayudarte a solucionar problemas relacionados con la configuración de tu servidor web y de PHP. Accede a la siguiente URL para examinar tu configuración:

http://localhost/config.php

Si hay algún problema, corrígelo antes de continuar.

Cuando todo esté listo, haz clic en el enlace "Visita la página de Bienvenida" para ver tu primera aplicación real en Symfony2:

http://localhost/app_dev.php/

En tu navegador deberías ver cómo Symfony2 te da la bienvenida y te felicita por tu arduo trabajo hasta el momento:

Página de bienvenida de Symfony2

Figura 3.1 Página de bienvenida de Symfony2