Entre quienes desarrollamos aplicaciones en Symfony, no es un secreto que una de las cosas que hace atractivo su uso, es su herramienta de línea de comandos llamada bin/console ¿por qué? para responde esta pregunta empezaremos viendo qué comandos podemos utilizar.
Nos dirigimos a la ruta de nuestro proyecto desde nuestra interfaz de línea de comandos de windows o linux hasta la ruta de nuestro proyecto creado con Symfony.
cd my-project
Luego desde la raíz de nuestro proyecto ingresamos el siguiente comando:
php bin/console
Hasta aquí, con los bibliotecas instaladas por defecto en symfony podemos ver los siguientes comandos:
php bin/console Symfony 4.2.5 (env: dev, debug: true) Usage: command [options] [arguments] Options: -h, --help Display this help message -q, --quiet Do not output any message -V, --version Display this application version --ansi Force ANSI output --no-ansi Disable ANSI output -n, --no-interaction Do not ask any interactive question -e, --env=ENV The Environment name. [default: "dev"] --no-debug Switches off debug mode. -v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug Available commands: about Displays information about the current project help Displays help for a command list Lists commands assets assets:install Installs bundles web assets under a public directory cache cache:clear Clears the cache cache:pool:clear Clears cache pools cache:pool:delete Deletes an item from a cache pool cache:pool:prune Prunes cache pools cache:warmup Warms up an empty cache config config:dump-reference Dumps the default configuration for an extension debug debug:autowiring Lists classes/interfaces you can use for autowiring debug:config Dumps the current configuration for an extension debug:container Displays current services for an application debug:event-dispatcher Displays configured listeners for an application debug:form Displays form type information debug:router Displays current routes for an application debug:swiftmailer Displays current mailers for an application debug:translation Displays translation messages information debug:twig Shows a list of twig functions, filters, globals and tests doctrine doctrine:cache:clear-collection-region Clear a second-level cache collection region doctrine:cache:clear-entity-region Clear a second-level cache entity region doctrine:cache:clear-metadata Clears all metadata cache for an entity manager doctrine:cache:clear-query Clears all query cache for an entity manager doctrine:cache:clear-query-region Clear a second-level cache query region doctrine:cache:clear-result Clears result cache for an entity manager doctrine:cache:contains Check if a cache entry exists doctrine:cache:delete Delete a cache entry doctrine:cache:flush [doctrine:cache:clear] Flush a given cache doctrine:cache:stats Get stats on a given cache provider doctrine:database:create Creates the configured database doctrine:database:drop Drops the configured database doctrine:database:import Import SQL file(s) directly to Database. doctrine:ensure-production-settings Verify that Doctrine is properly configured for a production environment doctrine:generate:entities [generate:doctrine:entities] Generates entity classes and method stubs from your mapping information doctrine:mapping:convert [orm:convert:mapping] Convert mapping information between supported formats doctrine:mapping:import Imports mapping information from an existing database doctrine:mapping:info doctrine:migrations:diff [diff] Generate a migration by comparing your current database to your mapping information. doctrine:migrations:dump-schema [dump-schema] Dump the schema for your database to a migration. doctrine:migrations:execute [execute] Execute a single migration version up or down manually. doctrine:migrations:generate [generate] Generate a blank migration class. doctrine:migrations:latest [latest] Outputs the latest version number doctrine:migrations:migrate [migrate] Execute a migration to a specified version or the latest available version. doctrine:migrations:rollup [rollup] Rollup migrations by deleting all tracked versions and insert the one version that exists. doctrine:migrations:status [status] View the status of a set of migrations. doctrine:migrations:up-to-date [up-to-date] Tells you if your schema is up-to-date. doctrine:migrations:version [version] Manually add and delete migration versions from the version table. doctrine:query:dql Executes arbitrary DQL directly from the command line doctrine:query:sql Executes arbitrary SQL directly from the command line. doctrine:schema:create Executes (or dumps) the SQL needed to generate the database schema doctrine:schema:drop Executes (or dumps) the SQL needed to drop the current database schema doctrine:schema:update Executes (or dumps) the SQL needed to update the database schema to match the current mapping metadata doctrine:schema:validate Validate the mapping files lint lint:twig Lints a template and outputs encountered errors lint:xliff Lints a XLIFF file and outputs encountered errors lint:yaml Lints a file and outputs encountered errors make make:auth Creates a Guard authenticator of different flavors make:command Creates a new console command class make:controller Creates a new controller class make:crud Creates CRUD for Doctrine entity class make:entity Creates or updates a Doctrine entity class, and optionally an API Platform resource make:fixtures Creates a new class to load Doctrine fixtures make:form Creates a new form class make:functional-test Creates a new functional test class make:migration Creates a new migration based on database changes make:registration-form Creates a new registration form system make:serializer:encoder Creates a new serializer encoder class make:serializer:normalizer Creates a new serializer normalizer class make:subscriber Creates a new event subscriber class make:twig-extension Creates a new Twig extension class make:unit-test Creates a new unit test class make:user Creates a new security user class make:validator Creates a new validator and constraint class make:voter Creates a new security voter class router router:match Helps debug routes by simulating a path info match security security:encode-password Encodes a password. server server:dump Starts a dump server that collects and displays dumps in a single place server:log Starts a log server that displays logs in real time server:run Runs a local web server server:start Starts a local web server in the background server:status Outputs the status of the local web server server:stop Stops the local web server that was started with the server:start command swiftmailer swiftmailer:email:send Send simple email message swiftmailer:spool:send Sends emails from the spool translation translation:update Updates the translation file
Como podemos ver, tenemos una cantidad impresionante de comandos que nos pueden ayudar a:
- Arrancar un servidor web con el único requisito de tener un PHP instalado.
- Construir nuestras aplicaciones utilizando ayudantes que facilitan la generación de código.
- Hacer simulaciones de uso para probar el funcionamiento de nuestros formularios.
- y un gran etc…
1 comentario en «la poderosa herramienta bin/console de Symfony»