Instalando y configurando Symfony

El objetivo de este capítulo es empezar a trabajar con una aplicación funcionando incorporada en lo alto de Symfony. Afortunadamente, Symfony dispone de «distribuciones», que son proyectos Symfony funcionales desde el «arranque», los cuales puedes descargar y comenzar a desarrollar inmediatamente.

Truco

Si estás buscando instrucciones sobre la mejor manera de crear un nuevo proyecto y guardarlo vía el control de código fuente, consulta Usando control de código fuente.

Instalando una distribución de Symfony2

Truco

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

Los paquetes de las «distribuciones» de Symfony2, son aplicaciones totalmente funcionales que incluyen las bibliotecas del núcleo de Symfony2, una selección de útiles paquetes, una sensible estructura de directorios y alguna configuración predeterminada. Al descargar una distribución Symfony2, estás descargando la estructura de una aplicación operativa que puedes utilizar inmediatamente para comenzar a desarrollar tu aplicación.

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

Opción 1) Composer

Composer es una biblioteca de administración de dependencias para PHP, la cual puedes utilizar para descargar la Edición estándar de Symfony2.

Comienza descargando Composer en algún lugar de tu ordenador local. Si tienes instalado curl, es tan fácil como:

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

Nota

Si tu ordenador no está listo para utilizar Composer, verás algunas recomendaciones cuándo ejecutes esta orden. Sigue las recomendaciones hasta lograr que Composer trabaje correctamente.

Composer es un archivo PHAR ejecutable, el cual puedes utilizar para descargar la distribución estándar:

php composer.phar create-project symfony/framework-standard-edition /ruta/al/directorio/web-raiz/Symfony 2.2.0

Truco

Para una versión exacta, reemplaza 2.2.0 con la más reciente versión de Symfony (p. ej. 2.2.1). Para detalles, ve la Página de instalación de Symfony

Truco

Para descargar más rápido los archivos de proveedores, añade la opción --prefer-dist al final de cualquier orden de Composer.

Esta orden puede tardar varios minutos en su ejecución puesto que composer descarga la Distribución estándar junto con todas las bibliotecas de proveedores que necesita. Cuando termine, tendrás un directorio parecido a este:

ruta/al/directorio/web-raiz/ <- tu directorio raíz del servidor web
    Symfony/ <- el archivo extraído
        app/
            cache/
            config/
            logs/
        src/
            ...
        vendor/
            ...
        web/
            app.php
            ...

Opción 2) Descarga un archivo

También puedes descargar un archivo de la Edición estándar. En este caso, necesitas hacer dos elecciones:

  • Descargar o bien un archivo .tgz o .zip — ambos son equivalentes, descarga aquel con el que te sientas más cómodo—;
  • Descargar la distribución con o sin vendors. Si estás planeando utilizar más bibliotecas o paquetes de terceros y gestionarlas vía Composer, probablemente tienes que descarga la versión «sin vendors».

Descarga uno de los archivos en algún lugar bajo el directorio raíz de tu servidor web local y descomprímelo. Desde una línea de ordenes de UNIX, esto se puede hacer con una de las siguientes ordenes (sustituye ### con el nombre del archivo real):

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

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

Si descargaste el archivo «sin vendors», definitivamente necesitarás leer la siguiente sección.

Nota

Fácilmente puedes sustituir la estructura de directorios predefinida. Consulta Cómo sustituir la estructura de directorios predeterminada de Symfony para más información.

Actualizando vendors

Al llegar a este punto, has descargado un proyecto Symfony completamente operativo en el cual puedes comenzar a desarrollar tu propia aplicación. Un proyecto Symfony depende de una serie de bibliotecas externas. Estas se han descargado al directorio vendor/ de tu proyecto vía una biblioteca llamada Composer.

Dependiendo de cómo descargaste Symfony, ahora posiblemente o no necesites actualizar tus proveedores. Pero, actualizar tus proveedores siempre es seguro, y garantiza que tienes todas las bibliotecas de proveedores necesarias.

Paso 1: Consigue Composer (El nuevo gran sistema de empacado PHP)

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

Asegúrate de descargar composer.phar en el mismo directorio dónde se encuentra el archivo composer.json (este, por omisión, es el directorio raíz de tu proyecto Symfony).

Paso 2: Instala las bibliotecas de terceros

$ php composer.phar install

Esta orden descarga todas las bibliotecas de terceros necesarias —incluyendo al mismo Symfony— en el directorio vendor/.

Nota

Si no tienes instalado curl, simplemente puedes descargar manualmente el archivo instalador de http://getcomposer.org/installer. Coloca ese archivo en tu proyecto y luego ejecuta:

php installer
php composer.phar install

Truco

Cuando ejecutes php composer.phar install o php composer.phar update, composer ejecutará las ordenes postinstalación/postactualización para limpiar la caché e instalar los activos. De manera predeterminada, los activos se copiarán a tu directorio web.

En vez de copiar tus activos Symfony, puedes crear enlaces simbólicos si tu sistema operativo los apoya. Para crear enlaces simbólicos, añade una entrada en el nodo extra de tu archivo composer.json` con la clave symfony-assets-install y el valor symlink:

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

Al suministrar relative en lugar de symlink a symfony-assets-install, la orden generará enlaces simbólicos relativos.

Instalando y configurando

En este punto, todas las bibliotecas de terceros necesarias ahora viven 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 viene con una interfaz visual para probar la configuración del servidor, muy útil para ayudarte a solucionar problemas relacionados con la configuración de tu servidor web y PHP para utilizar Symfony. Usa 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 primer aplicación «real» en Symfony2:

http://localhost/app_dev.php/

¡Symfony2 debería darte la bienvenida y felicitarte por tu arduo trabajo hasta el momento!

../_images/welcome.png

Truco

Para conseguir bonitas y breves URL deberías apuntar el documento raíz de tu servidor web o servidor virtual al directorio Symfony/web/. Aunque esto no es necesario para el desarrollo, es recomendable al momento de desplegar tu aplicación en producción cuando todo el sistema y archivos de configuración se vuelven inaccesibles a los clientes. Para información sobre cómo configurar el directorio raíz de tu servidor web, lee Configuring a web server o consulta la documentación oficial de tu servidor web: Apache | Nginx .

Empezando a desarrollar

Ahora que tienes una aplicación Symfony2 completamente operativa, ¡puedes empezar a desarrollarla! Tu distribución puede contener algún código de ejemplo — revisa el archivo README.md incluido con la distribución (abrelo como archivo de texto) para ver qué código de ejemplo incluye tu distribución.

Si es tu primer contacto con Symfony, alcánzanos en «Creando páginas en Symfony2», donde aprenderás a crear páginas, cambiar la configuración, y todo lo que necesitarás en tu nueva aplicación.

Además, asegúrate de revisar el Recetario, el cual contiene una amplia variedad de artículos que solucionan problemas específicos con Symfony.

Nota

Si quieres eliminar el código de ejemplo de tu distribución, dale un vistazo a este artículo en el recetario: «Cómo eliminar el AcmeDemoBundle»

Usando control de código fuente

Si estás utilizando un sistema de control de versiones como Git o Subversion, puedes configurar tu sistema de control de versiones y empezar a confirmar cambios al proyecto normalmente. La edición estándar de Symfony es el punto de partida para tu nuevo proyecto.

Para instrucciones específicas sobre la mejor manera de configurar el proyecto para almacenarlo en git, consulta Cómo crear y guardar un proyecto Symfony2 en git.

Ignorando el directorio vendor/

Si has descargado el archivo sin proveedores, puedes omitir todo el directorio vendor/ y no confirmarlo al control de versiones. Con Git, esto se logra creando un archivo .gitignore y añadiendo lo siguiente:

/vendor/

Ahora, el directorio de proveedores no será confirmado al control de versiones. Esto está muy bien (en realidad, ¡es genial!) porque cuando alguien más clone o coteje el proyecto, él/ella simplemente puede ejecutar el archivo php composer.phar install para descargar todas las bibliotecas de proveedores necesarias.

Bifúrcame en GitHub