En artículos anteriores, te mostré como hacer ciertas cosas con Symfony, sin embargo, no he escrito acerca de los mas básico, que es su instalación, por esa razón, me decidí a escribir este Tutorial de Instalación de Symfony, para que aquellos que aun no sepan, puedan instalarlo siguiendo esta pequeña guía.

 Symfony es PHP. Ni más ni menos. Se trata de uno de los framework  desarrollado por SensioLabs, más potentes que existen para desarrollar aplicaciones web, que te facilita la vida a la hora de programar, sin la necesidad de profundizar demasiado en el código.

A pesar de que Symfony ya lanzó al mercado Symfony 3 (Sf3) en finales de noviembre de 2015, este artículo está orientado a la instalación de Symfony 2 (Sf2), pero, no te preocupes, a diferencia de su antecesor Symfony 1 (Sf1), no tendrás que volver a formarte para programar en Sf3 y las aplicaciones que desarrolles en Sf2 seran facilmente actualizables a Sf3, tan solo no debes usar las  funcionalidades o comportamientos de Symfony marcado como obsoleto (deprecated en inglés), La lista de cambios incompatibles de Symfony 3 te explica con detalle qué características van a cambiar y te muestra los cambios necesarios en tu código.

Sf2 es tan potente y funcional que siempre se va a encontrar en los primeros lugares de cualquier top de framework para desarrollo web, para muestra dejo los siguientes enlaces de top, realizados por linkedin y el elwebmaster.com, en donde ocupa el tercer y cuarto puesto respectivamente.

En el siguiente artículo te enseñaremos a instalar Sf2, con el gestor de base de datos Mysql y Doctrine como ORM Object-relational mapping o mapeador de objetos-relacional . ¿Interesado(a)? ¡Sigue leyendo!

Requerimientos para la instalación de Sf2

Independientemente de que quieras realizar una instalación local o en un servidor remoto, debes cumplir con los siguientes requerimientos:

Obligatorios:

  • PHP debe ser una versión mínima de PHP 5.3.3;
  • Es necesario habilitar JSON;
  • Es necesario tener habilitado el ctype;
  • Tu PHP.ini debe tener configurado el valor date.timezone;
  • Como vamos a usar Doctrine necesitamos tener instalado PDO;
  • Y el controlador de PDO para el servidor de base de datos Mysql:
    • pdo_mysql.default_socket = «MySQL»;
    • pdo_mysql.cache_size = 2000;
    • extension=php_pdo_sqlite.dll;
    • extension=php_pdo_mysql.dll;
    • extension=php_fileinfo.dll.

Opcionales:

  • Instalar el módulo PHP-XML;
  • Necesitas tener por lo menos la versión 2.6.21 de libxml;
  • Activar el tokenizer de PHP;
  • Habilitar las funciones mbstring;
  • Activar iconv;
  • POSIX tiene que estar habilitado (únicamente en *nix);
  • Debes tener instalado Intl con ICU 4+;
  • APC 3.0.17+ (u otra caché opcode debe estar instalada);
  • Configuración recomendada en PHP.ini:
    • short_open_tag = Off;
    • magic_quotes_gpc = Off;
    • register_globals = Off;
    • session.autostart = Off.

Comencemos con la instalación

1.- Instala Composer en el directorio del proyecto

Una vez creado el directorio donde se va a instalar el proyecto, debes ejecutar el siguiente comando por consola:

curl -sS https://getcomposer.org/installer | php

En caso de instlacion local en Windows y de no disponer de curl, asegurate que tienes php agregado en las variabes de entorno e ingresa al siguiente enlace https://getcomposer.org/installer ubicar el archivo descargado y agregar la extension .php, quedando como installer.php, mueve este archivo a la carpeta raíz del proyecto, dirigete a través de la consola a la carpeta raíz del proyecto y ejecutar el siguiente comando:

php installer.php

Esto te creará el archivo “composer.phar”. Ahora bien, instalar Composer de esta forma es correcto, pero implica tener que instalarlo para cada nuevo proyecto. Para evitar esta situación menos que ideal, mueve el archivo “composer.phar” ejecutando el siguiente comando:

mv composer.phar /usr/local/bin/composer

Si estas en Windows, cópialo al directorio donde se encuentren todos los ejecutables de PHP (php, pear, pecl, etc.), si adicional quieres hacer una instlacion global de composer, tienes que crear un archivo llamado composer.bat en el mismo directorio donde has movido el archivo composer.phar. El contenido de ese archivo debe ser el siguiente:

@ECHO OFF

SET composerScript=composer.phar

php "%~dp0%composerScript%" %*
2.- Crear proyecto Sf2

Una vez hayas movido el archivo composer.phar, ejecuta el siguiente comando para hacer la instalación de un proyecto en Sf2.

composer.phar create-project symfony/framework-standard-edition directorio\carpeta-raiz\Symfony2\Symfony 2.*

En caso de no haber movido el archivo composer.phar, puedes ejecutar el mismo comando, anteponiendo la ejecución de php

php composer.phar create-project symfony/framework-standard-edition directorio\carpeta-raiz\Symfony2\Symfony 2.*

En caso haber hecho la instalación global en Windows, puedes ejecutar el mismo comando, sin colocar la extensión del de composer

composer create-project symfony/framework-standard-edition directorio\carpeta-raiz\Symfony2\Symfony 2.*

Al finalizar la descarga, la consola, te irá pidiendo algunas opciones para la configuración del proyecto, solo, preciona la tecla “Enter”, para dejar la configuración por defecto.

3.- Mover ficheros

Una vez finalizada la descarga y configuración, dentro del directorio del proyecto, encontrarás el fichero “Symfony”, mueve todo el contenido de ese carpeta a la carpeta principal del proyecto.

En caso de ser un servidor remoto, mueve todo el contenido de la carpeta web a tu carpeta public_html.

¡Bien! ya tienes un proyecto en Sf2 y puedes ver la página inicial de tu proyecto en el navegador escribiendo una url como esta:

http://localhost/tu-directorio/web/app_dev.php

Recuerda cambiar el nombre de “tu-directorio” por el directorio correcto.

Conclusión

Con estos sencillos pasos ya puedes tener, la estructura básica y funcional para crear tu aplicacion web en sf2, ya solo queda que le des rienda suelta a tu creatividad para que desarrolles tus aplicaciones en este “Grandioso framework”.

Puedes continuar con el artículo Crear Bundles en Symfony 2 para que crees tu primera aplicación.

Manténte al tanto de los próximos tutoriales, suscribiéndote a nuestro newsletter, para que recibas más tips y herramientas prácticas de desarrollo web, tanto a nivel de back-end como front-end. Y por supuesto ¡no olvides compartir este artículo en tus redes sociales si te gustó!