class Command

Base class for all commands.

Methods

__construct(string|null $name = null)

Constructor.

ignoreValidationErrors()

Ignores validation errors.

setApplication(Application $application = null)

Sets the application instance for this command.

setHelperSet(HelperSet $helperSet)

Sets the helper set.

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 55
__construct(string|null $name = null)

Constructor.

Parameters

string|null $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 75
ignoreValidationErrors()

Ignores validation errors.

This is mainly useful for the help command.

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

Sets the application instance for this command.

Parameters

Application $application An Application instance

at line line 100
setHelperSet(HelperSet $helperSet)

Sets the helper set.

Parameters

HelperSet $helperSet A HelperSet instance

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 209
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 An InputInterface instance
OutputInterface $output An OutputInterface instance

Return Value

int The command exit code

See also

setCode()
execute()

at line line 282
$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 311
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 338
$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 356
InputDefinition getDefinition()

Gets the InputDefinition attached to this Command.

Return Value

InputDefinition An InputDefinition instance

at line line 371
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 386
$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 404
$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 425
$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 446
$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 458
string getName()

Returns the command name.

Return Value

string The command name

at line line 468
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 478
bool isHidden()

Return Value

bool Whether the command should be publicly shown or not.

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

Sets the description for the command.

Parameters

string $description The description for the command

Return Value

$this

at line line 502
string getDescription()

Returns the description for the command.

Return Value

string The description for the command

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

Sets the help for the command.

Parameters

string $help The help for the command

Return Value

$this

at line line 526
string getHelp()

Returns the help for the command.

Return Value

string The help for the command

at line line 537
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 562
$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 582
array getAliases()

Returns the aliases for the command.

Return Value

array An array of aliases for the command

at line line 594
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 612
$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 628
array getUsages()

Returns alternative usages of the command.

Return Value

array

at line line 643
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