Además de las opciones que puedas especificar en los comandos, existen opciones y comandos incorporados para el componente Console. En los siguientes ejemplos suponemos que hemos creado el archivo application.php:
#!/usr/bin/env php
<?php
// application.php
use Symfony\Component\Console\Application;
$application = new Application();
// ...
$application->run();
Comandos incorporados
El comando list muestra las opciones estándar y los comandos registrados:
php application.php list
Se puede obtener el mismo resultado sin incluir ningún comando también:
php application.php
Por ejemplo la siguiente es una lista de comandos en una aplicación con algunos bundles como FOSUser, FOSElastica, Doctrine, LiipImagine, OneUploader:
help Displays help for a command
list Lists commands
assets
assets:install Installs bundles web assets under a public web directory
cache
cache:clear Clears the cache
cache:warmup Warms up an empty cache
config
config:dump-reference Dumps the default configuration for an extension
debug
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: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:database:create Creates the configured database
doctrine:database:drop Drops the configured database
doctrine:ensure-production-settings Verify that Doctrine is properly configured for a production environment.
doctrine:generate:crud Generates a CRUD based on a Doctrine entity
doctrine:generate:entities Generates entity classes and method stubs from your mapping information
doctrine:generate:entity Generates a new Doctrine entity inside a bundle
doctrine:generate:form Generates a form type class based on a Doctrine entity
doctrine:mapping:convert Convert mapping information between supported formats.
doctrine:mapping:import Imports mapping information from an existing database
doctrine:mapping:info
doctrine:migrations:diff Generate a migration by comparing your current database to your mapping information.
doctrine:migrations:execute Execute a single migration version up or down manually.
doctrine:migrations:generate Generate a blank migration class.
doctrine:migrations:latest Outputs the latest version number
doctrine:migrations:migrate Execute a migration to a specified version or the latest available version.
doctrine:migrations:status View the status of a set of migrations.
doctrine:migrations: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.
fos
fos:elastica:populate Populates search indexes from providers
fos:elastica:reset Reset search indexes
fos:elastica:search Searches documents in a given type and index
fos:user:activate Activate a user
fos:user:change-password Change the password of a user.
fos:user:create Create a user.
fos:user:deactivate Deactivate a user
fos:user:demote Demote a user by removing a role
fos:user:promote Promotes a user by adding a role
gaufrette
gaufrette:filesystem:keys List all the file keys of a filesystem
generate
generate:bundle Generates a bundle
generate:command Generates a console command
generate:controller Generates a controller
generate:doctrine:crud Generates a CRUD based on a Doctrine entity
generate:doctrine:entities Generates entity classes and method stubs from your mapping information
generate:doctrine:entity Generates a new Doctrine entity inside a bundle
generate:doctrine:form Generates a form type class based on a Doctrine entity
liip
liip:imagine:cache:remove Remove cache for given paths and set of filters.
liip:imagine:cache:resolve Resolve cache for given path and set of filters.
lint
lint:twig Lints a template and outputs encountered errors
lint:yaml Lints a file and outputs encountered errors
oneup
oneup:uploader:clear-chunks Clear chunks according to the max-age you defined in your configuration.
oneup:uploader:clear-orphans Clear orphaned uploads according to the max-age you defined in your configuration.
orm
orm:convert:mapping Convert mapping information between supported formats.
router
router:match Helps debug routes by simulating a path info match
security
security:check Checks security issues in your project dependencies
security:encode-password Encodes a password.
server
server:run Runs PHP built-in web server
server:start Starts PHP built-in web server in the background
server:status Outputs the status of the built-in web server for the given address
server:stop Stops PHP's built-in web server that was started with the server:start command
swiftmailer
swiftmailer:debug Displays current mailers for an application
swiftmailer:email:send Send simple email message
swiftmailer:spool:send Sends emails from the spool
translation
translation:update Updates the translation file
El comando help muestra información de ayuda para el comando especificado. Si por ejemplo queremos ayuda para el comando list:
php application.php help list
El comando help sin especificar ningún comando mostrará las opciones globales:
php application.php help
Opciones globales
Puedes obtener información de cualquier comando con la opción --help. Por ejemplo para obtener ayuda para el comando list:
php application.php list --help
php application.php list -h
Puedes suprimir el output con:
php application.php list --quiet
php application.php list -q
Puedes obtener mensajes más explicativos (si los soporta el comando) con:
php application.php list --verbose
php application.php list -v
Para mostrar mensajes todavía más explicativos:
php application.php list -vv
php application.php list -vvvv
Si estableces los argumentos opcionales para que proporcionen un nombre y versión a la aplicación:
$application = new Application('Acme Console Application', '1.2');
Puedes emplear:
php application.php list --version
php application.php list -v
para obtener la siguiente información:
Acme Console Application version 1.2
Si no proporcionas ambos argumentos el output será:
console tool
Puedes también forzar el colorido en ANSI output:
php application.php list --ansi
o desactivarlo con el siguiente comando:
php application.php list --no-ansi
Puedes suprimir cualquier pregunta interactiva del comando que estás ejecutando con:
php application.php list --no-interaction
php application.php list -n
Shortcuts
No tienes por qué escribir los comandos enteros. Puedes emplear shortcuts si no hay comandos que puedan colisionar. Por ejemplo el comando de ayuda:
php application.php h
Si tienes comandos que emplean : para comandos con namespaces, simplemente puedes escribir el shortcut de cada parte. Si por ejemplo hemos creado el comando demo:greet podemos ejecutarlo de la siguiente forma:
php application.php d:g Fabien
Si introduces un comando de consola que colisiona con otro por su inicial, no se ejecutará ningún comando y se mostrarán sugerencias posibles para elegir.