Symfony: tutorial 0: preparando el espacio de trabajo

Herramientas para desarrollar en Symfony

Como buen apasionado del desarrollo de aplicaciones web, estaba espectante esperando la nueva versión de Symfony 4. Sigo revisando la serie completa mientras que actualizo los contenidos a Symfony 5. A partir de la versión 4, tenemos un Symfony orientado a microservicios, en la que te vas construyendo tu propio framework poco a poco, con los componentes que necesites. Esto quiere decir que no te instalas el framework completo cuando empiezas a trabajar, sino que poco a poco vas añadiendo los componentes.

Gracias a Composer vas acoplando los componentes, ya sean del propio Symfony, o sean componentes externos al framework. Esto hace a su vez que la curva de aprendizaje no sea tan pronunciada para los novatos.

Estoy como un niño con juguete nuevo. Tanto así, que he decidido hacer una serie de tutoriales de iniciación, para principiantes, y no tan principiantes, con referencias para que los más avanzados sigáis adelante..

Symfony ha ido reuniendo las mejores técnicas de programación de muchos lenguajes de programación. Y como framework de referencia, en el mundo PHP, te invito a que sigas la serie completa sin rendirte. Estos conceptos y técnicas de programación, los podrás encontrás después en muchos otros proyectos.

Herramientas

Comencemos por preparar el entorno de trabajo. Voy a citar las herramientas que uso, y por supuesto también recomiendo para estos trabajos. No puedo extenderme mucho porque si no las conoces, deberás de invertir tiempo para instarlártelas. Si ya tienes las tuyas, y se adapatan bien a este tipo de desarrollos, úsalas:

  • Sistema operativo: recomiendo GNU/Linux (Ubuntu, Ubuntu Mate o derivado de Debian), es lo que uso tanto en lo personal como en lo profesional. Tanto para escritorio de trabajo como para entorno de servidor 😉
    https://ubuntu-mate.org/
  • Navegador: también recomiendo lo que yo uso, el Firefox Developer Edition, que cada día va mejor y más rápido, con muchas herramientas para avanzar mejor en los desarrollos web:
    https://www.mozilla.org/es-ES/firefox/developer/
  • Entorno de desarrollo, IDE o editor: cómo no, el Atom Editor: https://atom.io/ con los paquetes para desarrollar aplicaciones web funciona muy bien. También el Visual Studio Code funciona muy bien: https://code.visualstudio.com/
  • PHP: imprescindible ya que es requisito de Symfony tener la versión 7:
    http://php.net/
  • Composer con su Packagist: si no conoces Composer es imprescindible que te pongas al día con esto. Composer es el manejador de dependencias que vamos a usar en la serie de tutoriales. Por explicar un poco, Composer es una herramienta que te ayuda a añadir, actualizar y borrar los componentes de tu aplicación web. Esto antaño era un trabajo complicado bajando ficheros comprimidos de cada cosa, enlazando todo a nuestra manera, etcétera. Todo esto se ha terminado, si no conoces Composer no sigas, debes antes conocerlo:
    https://getcomposer.org/
    https://packagist.org/
  • El nuevo comando de Symfony: imprescindible para trabajar con Symfony 5 mejor, porque por ejemplo, ha absorbido el servidor de desarrollo que antes teníamos en la consola de proyecto. Más adelante más información.. https://symfony.com/download

Si ya estas preparado vamos adelante, agárrate que vienen curvas, trataré de ir al grano.

Hola mundo

Insisto, si el paso anterior no está claro no sigas. Si no tienes las herramientas instaladas no sigas. Debes empaparte de qué son, para qué sirven y cómo funcionan antes de seguir. Con todo lo anterior funcionando en tu PC, instalarte un proyecto nuevo es tan sencillo como ejecutar desde línea de comandos:

composer create-project symfony/skeleton symfony-tutorial-0

También ahora tenemos también un comando symfony que podemos instalárnoslo. Con este comando ahora es más sencillo incluso el crear un proyecto nuevo así:

symfony new symfony-tutorial-0

Esperas a que todo se configure y entras dentro del directorio nuevo:

cd symfony-tutorial-0

Para versiones anteriores a Symfony 5, tenemos el comando de proyecto para lanzar el servidor web de desarrollo así:

composer require server --dev

..y lo arrancamos así:

php bin/console server:start

En la versión 5 de Symfony ya no tenemos el servidor web en los comando de consola del proyecto. Ahora lo tenemos en el comando symfony que debemos de tener instalado. Una vez lo tengamos instalado podremos hacer lo siguiente:

symfony server:start

Ya sólo nos queda acceder con el navegador a:

http://localhost:8000

..para ver el nuevo proyecto ya arrancado y listo para programar.

symfony-tutorial-0

Ahora en Symfony 5 se tiene que ver algo parecido a lo siguiente:

Symfony 5 hola mundo inicial

Sólo nos queda poner el clásico ¡Hola mundo! en el fichero para verlo en la web. Para esto tenemos que crear el primer controlador, pero como vamos a preferir usar las anotaciones en nuestros proyectos para manejar las URLs que haya, añadimos el paquete de anotaciones así:

composer require annotations

Ahora creamos finalmente nuestro controlador para la página de inicio en src/Controller/MyIndexController.php

<?php namespace App\Controller; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; class MyIndexController { /** * @Route("/") */ public function home() { return new Response( '<html><body>¡Hola mundo Symfony 5!</body></html>' ); } }

Fíjate que gracias a las anotaciones podemos organizar las URLs fácilmente.

Ahora sí que podemos dar por terminado nuestro hola mundo Symfony. En muy pocos minutos ya tienes arrancado un proyecto en tu PC listo para comenzar a trabajar. En el próximo tutorial seguiremos avanzando sobre el resto de componentes.

Dejo los códigos fuentes de este tutorial subidos a GitHub aquí:
https://github.com/jaimenj/symfony-starter-tutorials

Un saludo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *