Get it on Google Play

Formación Symfony: Creando primera aplicación Symfony

11-08-2017
 

Llevo varios años gestionando proyectos Symfony(Además de varias formaciones a desarrolladores) y revisando el blog he visto que no he publicado nada sobre este Framework de PHP. He decidido poner freno a esto con este primer post.

Introducción a Symfony

Symfony es un framework que corre sobre PHP muy potente que implementa todo lo que es el patrón MVC(Modelo-Vista-Controlador), persistencia, plantillas de vista, cache, etc. Además tiene cantidad de componentes y librerías de terceros para realizar nuestras aplicaciones.

Es impresionante lo rápido que corren las aplicaciones escritas sobre este framework. La verdad es que este framework pone a PHP como alternativa para crear buenas aplicaciones Web.

Atención! Symfony es un framework, no es un CMS(Content Management System). Es perfecto para crear aplicaciones Web y lo utilizan proyectos como Drupal, Piwik entre muchos otros. Algunos lo han utilizado en lugar de un CMS y creedme que es un grave error(Perdonad por la nota, pero es que ya me he encontrado con metidas de pata por malentender que es esta herramienta).

Instalando el entorno y el cliente de Symfony

Symfony tiene su propio cliente para hacernos mas fácil la gestión de proyectos. Para utilizarlo debemos tener instalado el cliente de PHP y descargarlo. Vamos a ver los pasos para instalarlo en Linux:

# Asegurarse que tenéis instalado el cliente de PHP
sudo aptitude install php5-cli

# Descargamos el instalador
 wget https://symfony.com/installer

# Le damos permisos de ejecución
chmod 777 installer

# Movemos el fichero y le cambiamos el nombre a symfony(Necesitamos ser root)
sudo mv installer /usr/local/bin/symfony

Creando nuestra primera aplicación

Ahora que ya tenemos instalado el entorno y el cliente de Symfony vamos a utilizarlo para crear nuestro primer proyecto. Es muy fácil:

# Creamos el nuevo proyecto con symfony new <proyecto> <versión>
symfony new mi_proyecto

Esto nos creará una carpeta llamada ‘mi_proyecto’ con la estructura de nuestro proyecto. Sin la herramienta CLI seria muy empalagoso montar la aplicación, gracias a la herramienta lo hemos hecho con una simple instrucción.

Ahora podemos arrancar la aplicación configurando nuestro servidor Apache o utilizar el propio servidor que ya se incluye. Vamos a arrancar la aplicación con utilizando este servidor:

# Entramos en la carpeta del proyecto
cd mi_proyecto/

# Arrancamos servidor web
php bin/console server:start

Esto debería arrancarnos el servidor web por el puerto 8000:

Symfony

Symfony

Estructura de un proyecto Symfony

Vamos a ver ahora la estructura de carpetas que nos ha creado:

/bin
Incluye los scripts que se utilizan con Symfony. Aquí no hay código de la aplicación Web.

/app
Incluye la configuración de la aplicación y las vistas en la carpeta ‘/app/Resources/views’. En Symfony se utiliza el sistema de plantillas Twig.

/src
Incluye el código fuente de nuestra aplicación: Controladores, classes de servicio, classes entidades de Base de datos, etc.

/tests
Incluye los tests de la aplicación.

/var
Aquí se guardan los ficheros temporales, logs, caches, etc.

/vendor
Aquí se guardan los ficheros de librerías de terceros. En principio, aquí no deberiamos de tocar nada, esto lo gestiona el cliente de Symfony.

/web
Esta es la carpeta pública donde pondremos los ficheros estáticos como JS, CSS, imágenes, etc.

Leave a Reply

© Albert Coronado Calzada