Instalación de Symfony
La configuración correcta
Si consulta la siguiente página: https://symfony.com/doc/current/setup.html#technical-requirements, encontrará estas recomendaciones:
![images/08RIT01.png](https://www.eni-training.com/download/3344c6bd-83e8-47fb-bff9-51328b4bd484/images/08RIT01.png?id=AAEAAAD%2f%2f%2f%2f%2fAQAAAAAAAAAMAgAAAE1FbmkuRWRpdGlvbnMuTWVkaWFwbHVzLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ0VuaS5FZGl0aW9ucy5NZWRpYXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAAAwdGVzdCB2Ml84IC0gZmZhNjQzOWQtZDZjYi00NzYxLWJhYTMtZWZkZDNiZDcwMWM25rSq0F7p2IgL)
La versión mínima de PHP debe ser la 8.1 y debe tener instalados Composer y Symfony.
Las dos primeras condiciones se han cumplido. En los capítulos anteriores, hemos instalado PHP 8.1 y Composer. El último paso antes de usar Symfony es su instalación.
Tenga en cuenta que puede verificar si su PC tiene todo lo necesario para que Symfony funcione una vez que esté instalado; simplemente, ejecute en la línea de comandos:
Symfony check:requirements
...
¡La instalación del instalador!
En la página Download de Symfony: https://symfony.com/download, se le propone instalar Symfony CLI para ejecutar y administrar sus proyectos. La instalación se propone para diferentes sistemas. En Windows, encontramos el administrador de paquetes que ya hemos instalado: Scoop.
Ahora, basta con que se sitúe en la carpeta c:/wamp64/www y escriba el siguiente comando (en el símbolo del sistema CMD o en el terminal de su editor favorito, Visual Studio Code):
clear
cd c:/wamp64/www
scoop install symfony-cli
Para instalar Symfony-cli en otros sistemas operativos, haga clic en la página Download en la pestaña correspondiente a su sistema. Por ejemplo, para una instalación en Linux, debe usar el siguiente comando:
wget https://get.symfony.com/cli/installer -O - | bash
o con la ayuda de curl:
curl -sS https://get.symfony.com/cli/installer | bash
La instalación del proyecto Symfony
Ubiquémonos en la carpeta c:/wamp64/www.
cd c:/wamp64/www
Para el resto del libro, vamos a usar una carpeta que llamaremos miAppSymf.
No es necesario crear esta carpeta; Symfony lo hará por nosotros.
En el terminal de comandos (o en el terminal de Visual Studio Code), ejecute el siguiente comando:
symfony new --webapp miAppSymf
O en su defecto:
symfony new miAppSymf --webapp
Espere hasta que la instalación finalice. Debería obtener una pantalla que se parece a esto:
![images/08RIT02.png](https://www.eni-training.com/download/3344c6bd-83e8-47fb-bff9-51328b4bd484/images/08RIT02.png?id=AAEAAAD%2f%2f%2f%2f%2fAQAAAAAAAAAMAgAAAE1FbmkuRWRpdGlvbnMuTWVkaWFwbHVzLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ0VuaS5FZGl0aW9ucy5NZWRpYXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAAAwdGVzdCB2Ml84IC0gZmZhNjQzOWQtZDZjYi00NzYxLWJhYTMtZWZkZDNiZDcwMWM25rSq0F7p2IgL)
Advertencia: cuando ejecute el comando anterior, asegúrese de estar en la carpeta donde creó el archivo composer.phar; de lo contrario, obtendrá un error.
Al final del proceso, tendrá una carpeta miAppSymf en la raíz de su carpeta www. Si abre esta carpeta con VSCode, descubrirá la arquitectura de Symfony.
![images/08RIT03.png](https://www.eni-training.com/download/3344c6bd-83e8-47fb-bff9-51328b4bd484/images/08RIT03.png?id=AAEAAAD%2f%2f%2f%2f%2fAQAAAAAAAAAMAgAAAE1FbmkuRWRpdGlvbnMuTWVkaWFwbHVzLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ0VuaS5FZGl0aW9ucy5NZWRpYXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAAAwdGVzdCB2Ml84IC0gZmZhNjQzOWQtZDZjYi00NzYxLWJhYTMtZWZkZDNiZDcwMWM25rSq0F7p2IgL)
La instalación de Symfony con Composer
Si, por alguna razón, tiene dificultades para instalar Symfony con setup.exe, también puede instalarlo con Composer. Todas las instrucciones necesarias se encuentran en esta página: https://symfony.com/doc/current/setup.html
Symfony es una biblioteca como cualquier otra; para instalarla con Composer, ejecute los siguientes comandos:
composer create-project symfony/skeleton:"6.2.*" miAppSymf
cd miAppSymf
composer require webapp
La instalación de una aplicación Symfony ligera
Esta instalación se prefiere cuando no se desea tener todas las bibliotecas instaladas desde principio, sino disponer de la opción de instalarlas dinámicamente. Esto es especialmente útil si desea crear una API REST.
No detallaremos esto aquí, pero más adelante puede probar esta práctica.
La documentación indica el comando que se ha de ejecutar; por ejemplo, con Scoop:
symfony new nombre_del_proyecto
es decir, sin el --webapp.
El test de instalación
Su aplicación está instalada en la carpeta miAppSymf.
Para probarla con WAMP (w verde en la barra de tareas), simplemente escriba en un navegador (Firefox): localhost/miAppSymf/public. Podría ser necesario añadir el puerto: localhost:8888/miAppSymf/public.
Si todo ha salido bien, debería ver una pantalla como esta:
![images/08RIT04.png](https://www.eni-training.com/download/3344c6bd-83e8-47fb-bff9-51328b4bd484/images/08RIT04.png?id=AAEAAAD%2f%2f%2f%2f%2fAQAAAAAAAAAMAgAAAE1FbmkuRWRpdGlvbnMuTWVkaWFwbHVzLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ0VuaS5FZGl0aW9ucy5NZWRpYXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAAAwdGVzdCB2Ml84IC0gZmZhNjQzOWQtZDZjYi00NzYxLWJhYTMtZWZkZDNiZDcwMWM25rSq0F7p2IgL)
¿Por qué se ha especificado la carpeta public en la URL (/public)?
El punto de entrada de la aplicación Symfony no está en la raíz del proyecto, sino en la subcarpeta public. Si abre esta carpeta, encontrará un archivo index.php como el que ejecutamos durante nuestras pruebas con el lenguaje PHP. Este archivo es el que se ejecuta de forma predeterminada en un proyecto Symfony.
El servidor local de Symfony
Symfony pone a su disposición un servidor local que le permite iniciar su aplicación directamente sin usar WAMP.
En VSCode puede abrir una ventana de terminal equivalente al terminal de comandos de Windows. Es más cómodo tener el terminal dentro del IDE; esto evita que tenga que alternar entre ventanas.
En la ventana del terminal, escriba el siguiente comando:
symfony server:start
![images/08RIT05.png](https://www.eni-training.com/download/3344c6bd-83e8-47fb-bff9-51328b4bd484/images/08RIT05.png?id=AAEAAAD%2f%2f%2f%2f%2fAQAAAAAAAAAMAgAAAE1FbmkuRWRpdGlvbnMuTWVkaWFwbHVzLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ0VuaS5FZGl0aW9ucy5NZWRpYXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAAAwdGVzdCB2Ml84IC0gZmZhNjQzOWQtZDZjYi00NzYxLWJhYTMtZWZkZDNiZDcwMWM25rSq0F7p2IgL)
Como se indica en el terminal, puede iniciar su aplicación escribiendo en el navegador: localhost:8000.
Obtendrá la misma pantalla que antes (de un color diferente). Si su navegador le indica un problema de seguridad debido al certificado, haga clic en «Acepto los riesgos» para acceder a la página.
A lo largo del libro, usaremos este servidor por defecto, lo que nos evita tener que escribir URL demasiado largas.
Puede usar un puerto diferente al 8000 para su servidor. Solo tiene que especificarlo. Intente ejecutar, por ejemplo: symfony server:start --port=7777.
No cierre la ventana del terminal donde se ejecuta el comando symfony server:start; de lo contrario, el servidor se detendrá.
Si desea seguir ejecutando comandos en el terminal, pulse el pequeño icono + en la esquina superior derecha de la ventana del terminal para agregar una nueva ventana de terminal.
Si desea detener el servidor, en la ventana donde se ejecuta el comando symfony server:start, utilice: [Ctrl] C.