Flag of Ukraine
SymfonyCasts stands united with the people of Ukraine
This tutorial has a new version, check it out!

La amada herramienta bin/console

Video not working?

It looks like your browser may not support the H264 codec. If you're using Linux, try a different browser or try installing the gstreamer0.10-ffmpeg gstreamer0.10-plugins-good packages.

Thanks! This saves us from needing to use Flash or encode videos in multiple formats. And that let's us get back to making more videos :). But as always, please feel free to message us.

Guardemos nuestro progreso hasta ahora. Voy a limpiar la pantalla y ejecutaré:

git status

Interesante: Hay algunos archivos nuevos aquí que yo no creé. No te preocupes: Vamos a hablar precisamente de eso en el siguiente capítulo. Agrega todo con:

git add .

Normalmente... Este comando puede ser peligroso - accidentalmente podríamos agregar algunos archivos que no queremos al commit! Afortunadamente, nuestro proyecto viene con un archivo .gitignore precargado que ignora cosas importantes como vendor/ y otras rutas de las cuales hablaremos más tarde. Por ejemplo, var/ contiene el caché y los archivos de logs. El punto es, que Symfony nos cuida la espalda.

Guarda los cambios con:

git commit -m "Lo estamos haciendo en grande con esto de Symfony"

Hola comando bin/console

Puedes interactuar de dos maneras diferentes con tu aplicación de Symfony. La primera es al cargar una página en tu navegador. La segunda es con un útil comando llamado bin/console. En tu terminal, ejecuta:

php bin/console

¡Orale! Este comando enlista un montón de cosas diversas que puedes hacer con eso, incluidas múltiples herramientas de depuración. Ahora, para desmitificar este asunto un poco, existe literalmente un directorio bin/ en nuestra aplicación con un archivo llamado console adentro. Así que esta cosa bin/console no es un comando global que se ha instalado en nuestro sistema: estamos, literalmente ejecutando un archivo PHP.

El comando bin/console puede hacer muchas cosas - y descubriremos mis características favoritas a lo largo del camino. Por ejemplo, ¿Quieres ver un listado para cada ruta en tu aplicación? Ejecuta:

php bin/console debug:router

¡Sip! Ahí están nuestras dos rutas... además de otra que Symfony agrega automáticamente durante el desarrollo.

La herramienta bin/console contiene muchos comandos útiles como este. Pero la lista de comandos que soporta no es estática. Nuevos comandos pueden ser agregados por nosotros... O por nuevos paquetes que instalemos en nuestro proyecto. Este es mi "no tan sutil" presagio.

A continuación: Hablemos de Symfony Flex, alias con Composer y el sistema de recetas. Básicamente, las herramientas que hacen a Symfony verdaderamente único.

Leave a comment!

What PHP libraries does this tutorial use?

// composer.json
{
    "require": {
        "php": "^7.3.0 || ^8.0.0",
        "ext-ctype": "*",
        "ext-iconv": "*",
        "easycorp/easy-log-handler": "^1.0.7", // v1.0.9
        "sensio/framework-extra-bundle": "^6.0", // v6.2.1
        "symfony/asset": "5.0.*", // v5.0.11
        "symfony/console": "5.0.*", // v5.0.11
        "symfony/debug-bundle": "5.0.*", // v5.0.11
        "symfony/dotenv": "5.0.*", // v5.0.11
        "symfony/flex": "^1.3.1", // v1.17.5
        "symfony/framework-bundle": "5.0.*", // v5.0.11
        "symfony/monolog-bundle": "^3.0", // v3.5.0
        "symfony/profiler-pack": "*", // v1.0.5
        "symfony/routing": "5.1.*", // v5.1.11
        "symfony/twig-pack": "^1.0", // v1.0.1
        "symfony/var-dumper": "5.0.*", // v5.0.11
        "symfony/webpack-encore-bundle": "^1.7", // v1.8.0
        "symfony/yaml": "5.0.*" // v5.0.11
    },
    "require-dev": {
        "symfony/profiler-pack": "^1.0" // v1.0.5
    }
}