Command
in package
Base class for all commands.
Tags
Table of Contents
Constants
Properties
- $defaultDescription : string|null
- $defaultName : string|null
- $aliases : array<string|int, mixed>
- $application : Application|null
- $code : Closure|null
- $definition : InputDefinition
- $description : string
- $fullDefinition : InputDefinition|null
- $help : string
- $helperSet : HelperSet|null
- $hidden : bool
- $ignoreValidationErrors : bool
- $name : string|null
- $processTitle : string|null
- $synopsis : array<string|int, mixed>
- $usages : array<string|int, mixed>
Methods
- __construct() : mixed
- addArgument() : $this
- Adds an argument.
- addOption() : $this
- Adds an option.
- addUsage() : $this
- Add a command usage example, it'll be prefixed with the command name.
- complete() : void
- Adds suggestions to $suggestions for the current completion input (e.g. option or argument).
- getAliases() : array<string|int, mixed>
- Returns the aliases for the command.
- getApplication() : Application|null
- Gets the application instance for this command.
- getDefaultDescription() : string|null
- getDefaultName() : string|null
- getDefinition() : InputDefinition
- Gets the InputDefinition attached to this Command.
- getDescription() : string
- Returns the description for the command.
- getHelp() : string
- Returns the help for the command.
- getHelper() : HelperInterface
- Gets a helper instance by name.
- getHelperSet() : HelperSet|null
- Gets the helper set.
- getName() : string|null
- Returns the command name.
- getNativeDefinition() : InputDefinition
- Gets the InputDefinition to be used to create representations of this Command.
- getProcessedHelp() : string
- Returns the processed help for the command replacing the %command.name% and %command.full_name% patterns with the real values dynamically.
- getSynopsis() : string
- Returns the synopsis for the command.
- getUsages() : array<string|int, mixed>
- Returns alternative usages of the command.
- ignoreValidationErrors() : void
- Ignores validation errors.
- isEnabled() : bool
- Checks whether the command is enabled or not in the current environment.
- isHidden() : bool
- run() : int
- Runs the command.
- setAliases() : $this
- Sets the aliases for the command.
- setApplication() : void
- setCode() : $this
- Sets the code to execute when running this command.
- setDefinition() : $this
- Sets an array of argument and option instances.
- setDescription() : $this
- Sets the description for the command.
- setHelp() : $this
- Sets the help for the command.
- setHelperSet() : void
- setHidden() : $this
- setName() : $this
- Sets the name of the command.
- setProcessTitle() : $this
- Sets the process title of the command.
- configure() : void
- Configures the current command.
- execute() : int
- Executes the current command.
- initialize() : void
- Initializes the command after the input has been bound and before the input is validated.
- interact() : void
- Interacts with the user.
- validateName() : void
- Validates a command name.
Constants
FAILURE
public
mixed
FAILURE
= 1
INVALID
public
mixed
INVALID
= 2
SUCCESS
public
mixed
SUCCESS
= 0
Properties
$defaultDescription
protected
static string|null
$defaultDescription
The default command description
Tags
$defaultName
protected
static string|null
$defaultName
The default command name
Tags
$aliases
private
array<string|int, mixed>
$aliases
= []
$application
private
Application|null
$application
= null
$code
private
Closure|null
$code
= null
$definition
private
InputDefinition
$definition
$description
private
string
$description
= ''
$fullDefinition
private
InputDefinition|null
$fullDefinition
= null
$help
private
string
$help
= ''
$helperSet
private
HelperSet|null
$helperSet
= null
$hidden
private
bool
$hidden
= false
$ignoreValidationErrors
private
bool
$ignoreValidationErrors
= false
$name
private
string|null
$name
= null
$processTitle
private
string|null
$processTitle
= null
$synopsis
private
array<string|int, mixed>
$synopsis
= []
$usages
private
array<string|int, mixed>
$usages
= []
Methods
__construct()
public
__construct([string|null $name = null ]) : mixed
Parameters
- $name : string|null = null
-
The name of the command; passing null means it must be set in configure()
Tags
addArgument()
Adds an argument.
public
addArgument(string $name[, mixed $mode = null ][, string $description = '' ][, mixed $default = null ]) : $this
Parameters
- $name : string
- $mode : mixed = null
-
The argument mode: InputArgument::REQUIRED or InputArgument::OPTIONAL
- $description : string = ''
- $default : mixed = null
-
The default value (for InputArgument::OPTIONAL mode only)
Tags
Return values
$thisaddOption()
Adds an option.
public
addOption(string $name[, mixed $shortcut = null ][, mixed $mode = null ][, string $description = '' ][, mixed $default = null ]) : $this
Parameters
- $name : string
- $shortcut : mixed = null
-
The shortcuts, can be null, a string of shortcuts delimited by | or an array of shortcuts
- $mode : mixed = null
-
The option mode: One of the InputOption::VALUE_* constants
- $description : string = ''
- $default : mixed = null
-
The default value (must be null for InputOption::VALUE_NONE)
Tags
Return values
$thisaddUsage()
Add a command usage example, it'll be prefixed with the command name.
public
addUsage(string $usage) : $this
Parameters
- $usage : string
Return values
$thiscomplete()
Adds suggestions to $suggestions for the current completion input (e.g. option or argument).
public
complete(CompletionInput $input, CompletionSuggestions $suggestions) : void
Parameters
- $input : CompletionInput
- $suggestions : CompletionSuggestions
getAliases()
Returns the aliases for the command.
public
getAliases() : array<string|int, mixed>
Return values
array<string|int, mixed>getApplication()
Gets the application instance for this command.
public
getApplication() : Application|null
Return values
Application|nullgetDefaultDescription()
public
static getDefaultDescription() : string|null
Return values
string|nullgetDefaultName()
public
static getDefaultName() : string|null
Return values
string|nullgetDefinition()
Gets the InputDefinition attached to this Command.
public
getDefinition() : InputDefinition
Return values
InputDefinitiongetDescription()
Returns the description for the command.
public
getDescription() : string
Return values
stringgetHelp()
Returns the help for the command.
public
getHelp() : string
Return values
stringgetHelper()
Gets a helper instance by name.
public
getHelper(string $name) : HelperInterface
Parameters
- $name : string
Tags
Return values
HelperInterfacegetHelperSet()
Gets the helper set.
public
getHelperSet() : HelperSet|null
Return values
HelperSet|nullgetName()
Returns the command name.
public
getName() : string|null
Return values
string|nullgetNativeDefinition()
Gets the InputDefinition to be used to create representations of this Command.
public
getNativeDefinition() : InputDefinition
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 values
InputDefinitiongetProcessedHelp()
Returns the processed help for the command replacing the %command.name% and %command.full_name% patterns with the real values dynamically.
public
getProcessedHelp() : string
Return values
stringgetSynopsis()
Returns the synopsis for the command.
public
getSynopsis([bool $short = false ]) : string
Parameters
- $short : bool = false
-
Whether to show the short version of the synopsis (with options folded) or not
Return values
stringgetUsages()
Returns alternative usages of the command.
public
getUsages() : array<string|int, mixed>
Return values
array<string|int, mixed>ignoreValidationErrors()
Ignores validation errors.
public
ignoreValidationErrors() : void
This is mainly useful for the help command.
isEnabled()
Checks whether the command is enabled or not in the current environment.
public
isEnabled() : bool
Override this to check for x or y and return false if the command cannot run properly under the current conditions.
Return values
boolisHidden()
public
isHidden() : bool
Return values
bool —whether the command should be publicly shown or not
run()
Runs the command.
public
run(InputInterface $input, OutputInterface $output) : int
The code to execute is either defined directly with the setCode() method or by overriding the execute() method in a sub-class.
Parameters
- $input : InputInterface
- $output : OutputInterface
Tags
Return values
int —The command exit code
setAliases()
Sets the aliases for the command.
public
setAliases(array<string|int, string> $aliases) : $this
Parameters
- $aliases : array<string|int, string>
-
An array of aliases for the command
Tags
Return values
$thissetApplication()
public
setApplication([Application|null $application = null ]) : void
Parameters
- $application : Application|null = null
setCode()
Sets the code to execute when running this command.
public
setCode(callable $code) : $this
If this method is used, it overrides the code defined in the execute() method.
Parameters
- $code : callable
-
A callable(InputInterface $input, OutputInterface $output)
Tags
Return values
$thissetDefinition()
Sets an array of argument and option instances.
public
setDefinition(array<string|int, mixed>|InputDefinition $definition) : $this
Parameters
- $definition : array<string|int, mixed>|InputDefinition
Return values
$thissetDescription()
Sets the description for the command.
public
setDescription(string $description) : $this
Parameters
- $description : string
Return values
$thissetHelp()
Sets the help for the command.
public
setHelp(string $help) : $this
Parameters
- $help : string
Return values
$thissetHelperSet()
public
setHelperSet(HelperSet $helperSet) : void
Parameters
- $helperSet : HelperSet
setHidden()
public
setHidden([bool $hidden = true ]) : $this
Parameters
- $hidden : bool = true
-
Whether or not the command should be hidden from the list of commands
Return values
$thissetName()
Sets the name of the command.
public
setName(string $name) : $this
This method can set both the namespace and the name if you separate them by a colon (:)
$command->setName('foo:bar');
Parameters
- $name : string
Tags
Return values
$thissetProcessTitle()
Sets the process title of the command.
public
setProcessTitle(string $title) : $this
This feature should be used only when creating a long process command, like a daemon.
Parameters
- $title : string
Return values
$thisconfigure()
Configures the current command.
protected
configure() : void
execute()
Executes the current command.
protected
execute(InputInterface $input, OutputInterface $output) : int
This method is not abstract because you can use this class as a concrete class. In this case, instead of defining the execute() method, you set the code to execute by passing a Closure to the setCode() method.
Parameters
- $input : InputInterface
- $output : OutputInterface
Tags
Return values
int —0 if everything went fine, or an exit code
initialize()
Initializes the command after the input has been bound and before the input is validated.
protected
initialize(InputInterface $input, OutputInterface $output) : void
This is mainly useful when a lot of commands extends one main command where some things need to be initialized based on the input arguments and options.
Parameters
- $input : InputInterface
- $output : OutputInterface
Tags
interact()
Interacts with the user.
protected
interact(InputInterface $input, OutputInterface $output) : void
This method is executed before the InputDefinition is validated. This means that this is the only place where the command can interactively ask for values of missing required arguments.
Parameters
- $input : InputInterface
- $output : OutputInterface
validateName()
Validates a command name.
private
validateName(string $name) : void
It must be non-empty and parts can optionally be separated by ":".
Parameters
- $name : string