Creación y Configuración de un Proyecto Symfony con Homestead

Clase 6 de 17Curso de Symfony Framework

Inicializando el proyecto

Ahora que tenemos las herramientas que necesitamos estamos en condiciones de crear nuestro primer proyecto Symfony.

Mujer celebrando

Para ello vamos a valernos de nuestro viejo y querido composer.

Abre una terminal y ejecuta los siguientes comandos:

cd ~ composer create-project symfony/website-skeleton code

¡Excelente! Tu proyecto está creado :)

Explorando el proyecto

Lo primero que querrás hacer será verificar que todo está en su lugar, ¿cierto? ¡Buena idea!

Abre un navegador y dirígete a [http://homestead.test](http://homestead.test)

Si todo salió bien deberías ver una pantalla como esta:

Pantalla de bienvenida a Symfony

¡Felicitaciones! Has creado tu primer proyecto Symfony en una máquina virtual Homestead.

Ahora que está todo en su lugar… ¿qué tal si miramos un poco por detrás de la cortina?

Lo primero que debes comprender es cómo está conectada la máquina virtual con tu propia computadora.

Es realmente simple, si te fijas en la definición de Homestead.yaml encontrarás:

folders: - map: ~/code to: /home/vagrant/code

Esta definición indica que tu directorio local ~/code (el de tu computadora real) está mapeado al directorio virtual /home/vagrant/code.

Esto significa que todo lo que escribas en tu directorio ~/code será replicado en forma automática en el directorio /home/vagrant/code de la máquina virtual y viceversa.

Esto permite que los cambios que realices en tu editor de código se vean reflejados en tu servidor web en forma inmediata (Sin necesidad de subirlos vía FTP ni nada por el estilo).

Recuerda que el servidor web (Nginx en este caso) está alojado en tu máquina virtual y tú lo estás accediendo desde tu navegador a través de la URL [http://homestead.test](http://homestead.test)

Pues bien, te invito ahora a que ejecutes los siguientes comandos:

cd ~/code ls -l

Ahí podrás ver todos los directorios y archivos que ha creado el instalador de Symfony.

Repasémoslos brevemente:

  • bin/
    • Aquí encontrarás algunas herramientas útiles que veremos más adelante.
  • config/
    • Este directorio contendrá la configuración de tu aplicación y los paquetes que utilices.
  • public/
    • Aquí se encontrará toda la información a la que tiene acceso cualquier visitante de tu sitio.
  • src/
    • Este es probablemente el directorio más importante: aquí estará el código de tu aplicación.
  • templates/
    • Este directorio también contendrá código, pero sólo el referente a las vistas.
  • tests/
    • Aquí residirán los scripts que crearás para realizar las pruebas de tu aplicación.
  • translations/
    • Aquí se almacenarán los archivos de traducción que permitirán que tu aplicación pueda ser utilizada por personas de diferentes países.
  • var/
    • Este directorio es interno. El propio framework se encargará de administrarlo.
  • vendor/
    • Aquí se instalarán las dependencias que agregues usando composer.

¡Perfecto! Ya estamos casi listos para empezar a codear :)

En la clase 2 te había adelantado que una de las ventajas de usar Symfony es su capacidad para generar código por tí.

Para lograr este objetivo el framework cuenta con una poderosa herramienta: el ejecutor de comandos.

Para accederlo simplemente escribe en tu terminal:

php bin/console

Verás una salida similar a esta:

Terminal con opciones después de ejecutar el comando A través de este script podrás realizar una gran cantidad de tareas sumamente importantes a la hora de desarrollar tu aplicación: tenla muy presente.

Hasta ahora todos los comandos que hemos usado los hemos ejecutado en la computadora física. Sin embargo, el servidor web, la base de datos y todo lo demás que conforma el entorno de nuestra aplicación está en la máquina virtual… es tiempo de ir a donde nuestro código vive.

Dado que estamos trabajando con Homestead nos basta con ejecutar:

homestead ssh

Y estaremos dentro de la Matrix… quiero decir, de la máquina virtual :)

Una vez dentro, muévete al directorio /home/vagrant/code usando:

cd /home/vagrant/code

Y luego, si usas el comando ls verás exactamente el mismo contenido que hay en ~/code en tu máquina física. Precisamente de éso se trata el mapeo que figura en tu archivo Homestead.yaml.

Y ahora sí, es momento de comenzar a escribir código.

¿Qué mejor que arrancar implementando nuestro modelo de datos?

Acompáñame a la siguiente clase y aprende cómo usar Doctrine en tus proyectos.