class Command

Base class for all commands.

Methods

static string|null
getDefaultName()

No description

__construct(string $name = null)

No description

ignoreValidationErrors()

Ignores validation errors.

setApplication(Application $application = null)

No description

setHelperSet(HelperSet $helperSet)

No description

getHelperSet()

Gets the helper set.

getApplication()

Gets the application instance for this command.

bool
isEnabled()

Checks whether the command is enabled or not in the current environment.

int
run(InputInterface $input, OutputInterface $output)

Runs the command.

$this
setCode(callable $code)

Sets the code to execute when running this command.

mergeApplicationDefinition(bool $mergeArgs = true)

Merges the application definition with the command definition.

$this
setDefinition(array|InputDefinition $definition)

Sets an array of argument and option instances.

getDefinition()

Gets the InputDefinition attached to this Command.

getNativeDefinition()

Gets the InputDefinition to be used to create representations of this Command.

$this
addArgument(string $name, int $mode = null, string $description = '', mixed $default = null)

Adds an argument.

$this
addOption(string $name, string $shortcut = null, int $mode = null, string $description = '', mixed $default = null)

Adds an option.

$this
setName(string $name)

Sets the name of the command.

$this
setProcessTitle(string $title)

Sets the process title of the command.

string
getName()

Returns the command name.

setHidden(bool $hidden)

No description

bool
isHidden()

No description

$this
setDescription(string $description)

Sets the description for the command.

string
getDescription()

Returns the description for the command.

$this
setHelp(string $help)

Sets the help for the command.

string
getHelp()

Returns the help for the command.

string
getProcessedHelp()

Returns the processed help for the command replacing the %command.name% and %command.full_name% patterns with the real values dynamically.

$this
setAliases(string[] $aliases)

Sets the aliases for the command.

array
getAliases()

Returns the aliases for the command.

string
getSynopsis(bool $short = false)

Returns the synopsis for the command.

$this
addUsage(string $usage)

Add a command usage example.

array
getUsages()

Returns alternative usages of the command.

mixed
getHelper(string $name)

Gets a helper instance by name.

Details

at line line 56
static string|null getDefaultName()

Return Value

string|null The default command name or null when no default name is set

at line line 69
__construct(string $name = null)

Parameters

string $name The name of the command; passing null means it must be set in configure()

Exceptions

LogicException When the command name is empty

at line line 85
ignoreValidationErrors()

Ignores validation errors.

This is mainly useful for the help command.

at line line 90
setApplication(Application $application = null)

Parameters

Application $application

at line line 100
setHelperSet(HelperSet $helperSet)

Parameters

HelperSet $helperSet

at line line 110
HelperSet getHelperSet()

Gets the helper set.

Return Value

HelperSet A HelperSet instance

at line line 120
Application getApplication()

Gets the application instance for this command.

Return Value

Application An Application instance

at line line 133
bool isEnabled()

Checks whether the command is enabled or not in the current environment.

Override this to check for x or y and return false if the command can not run properly under the current conditions.

Return Value

bool

at line line 199
int run(InputInterface $input, OutputInterface $output)

Runs the command.

The code to execute is either defined directly with the setCode() method or by overriding the execute() method in a sub-class.

Parameters

InputInterface $input
OutputInterface $output

Return Value

int The command exit code

Exceptions

Exception When binding input fails. Bypass this by calling {@link ignoreValidationErrors()}.

See also

setCode()
execute()

at line line 271
$this setCode(callable $code)

Sets the code to execute when running this command.

If this method is used, it overrides the code defined in the execute() method.

Parameters

callable $code A callable(InputInterface $input, OutputInterface $output)

Return Value

$this

Exceptions

InvalidArgumentException

See also

execute()

at line line 292
mergeApplicationDefinition(bool $mergeArgs = true)

Merges the application definition with the command definition.

This method is not part of public API and should not be used directly.

Parameters

bool $mergeArgs Whether to merge or not the Application definition arguments to Command definition arguments

at line line 319
$this setDefinition(array|InputDefinition $definition)

Sets an array of argument and option instances.

Parameters

array|InputDefinition $definition An array of argument and option instances or a definition instance

Return Value

$this

at line line 337
InputDefinition getDefinition()

Gets the InputDefinition attached to this Command.

Return Value

InputDefinition An InputDefinition instance

at line line 352
InputDefinition getNativeDefinition()

Gets the InputDefinition to be used to create representations of this Command.

Can be overridden to provide the original command representation when it would otherwise be changed by merging with the application InputDefinition.

This method is not part of public API and should not be used directly.

Return Value

InputDefinition An InputDefinition instance

at line line 367
$this addArgument(string $name, int $mode = null, string $description = '', mixed $default = null)

Adds an argument.

Parameters

string $name The argument name
int $mode The argument mode: InputArgument::REQUIRED or InputArgument::OPTIONAL
string $description A description text
mixed $default The default value (for InputArgument::OPTIONAL mode only)

Return Value

$this

at line line 385
$this addOption(string $name, string $shortcut = null, int $mode = null, string $description = '', mixed $default = null)

Adds an option.

Parameters

string $name The option name
string $shortcut The shortcut (can be null)
int $mode The option mode: One of the InputOption::VALUE_* constants
string $description A description text
mixed $default The default value (must be null for InputOption::VALUE_NONE)

Return Value

$this

at line line 406
$this setName(string $name)

Sets the name of the command.

This method can set both the namespace and the name if you separate them by a colon (:)

$command->setName('foo:bar');

Parameters

string $name The command name

Return Value

$this

Exceptions

InvalidArgumentException When the name is invalid

at line line 427
$this setProcessTitle(string $title)

Sets the process title of the command.

This feature should be used only when creating a long process command, like a daemon.

PHP 5.5+ or the proctitle PECL library is required

Parameters

string $title The process title

Return Value

$this

at line line 439
string getName()

Returns the command name.

Return Value

string The command name

at line line 449
Command setHidden(bool $hidden)

Parameters

bool $hidden Whether or not the command should be hidden from the list of commands

Return Value

Command The current instance

at line line 459
bool isHidden()

Return Value

bool whether the command should be publicly shown or not

at line line 471
$this setDescription(string $description)

Sets the description for the command.

Parameters

string $description The description for the command

Return Value

$this

at line line 483
string getDescription()

Returns the description for the command.

Return Value

string The description for the command

at line line 495
$this setHelp(string $help)

Sets the help for the command.

Parameters

string $help The help for the command

Return Value

$this

at line line 507
string getHelp()

Returns the help for the command.

Return Value

string The help for the command

at line line 518
string getProcessedHelp()

Returns the processed help for the command replacing the %command.name% and %command.full_name% patterns with the real values dynamically.

Return Value

string The processed help for the command

at line line 543
$this setAliases(string[] $aliases)

Sets the aliases for the command.

Parameters

string[] $aliases An array of aliases for the command

Return Value

$this

Exceptions

InvalidArgumentException When an alias is invalid

at line line 563
array getAliases()

Returns the aliases for the command.

Return Value

array An array of aliases for the command

at line line 575
string getSynopsis(bool $short = false)

Returns the synopsis for the command.

Parameters

bool $short Whether to show the short version of the synopsis (with options folded) or not

Return Value

string The synopsis

at line line 593
$this addUsage(string $usage)

Add a command usage example.

Parameters

string $usage The usage, it'll be prefixed with the command name

Return Value

$this

at line line 609
array getUsages()

Returns alternative usages of the command.

Return Value

array

at line line 624
mixed getHelper(string $name)

Gets a helper instance by name.

Parameters

string $name The helper name

Return Value

mixed The helper value

Exceptions

LogicException if no HelperSet is defined
InvalidArgumentException if the helper is not defined