Comandos y opciones de comandos incorporados en Symfony

Además de los comandos y sus opciones que puedas crear, existen comandos y opciones incorporados que pueden emplearse

Contenido modificable

Si ves errores o quieres modificar/añadir contenidos, puedes crear un pull request. Gracias

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.