Command
in package
Base class for all commands.
Tags
Table of Contents
- FAILURE = 1
- INVALID = 2
- SUCCESS = 0
- $defaultDescription : string|null
- $defaultName : string|null
- $aliases : mixed
- $application : mixed
- $code : mixed
- $definition : mixed
- $description : mixed
- $fullDefinition : mixed
- $help : mixed
- $helperSet : mixed
- $hidden : mixed
- $ignoreValidationErrors : mixed
- $name : mixed
- $processTitle : mixed
- $synopsis : mixed
- $usages : mixed
- __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() : mixed
- 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() : mixed
- 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() : mixed
- 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() : mixed
- setHidden() : $this
- setName() : $this
- Sets the name of the command.
- setProcessTitle() : $this
- Sets the process title of the command.
- configure() : mixed
- Configures the current command.
- execute() : int
- Executes the current command.
- initialize() : mixed
- Initializes the command after the input has been bound and before the input is validated.
- interact() : mixed
- Interacts with the user.
- validateName() : mixed
- 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
$defaultName
protected
static string|null
$defaultName
The default command name
$aliases
private
mixed
$aliases
= []
$application
private
mixed
$application
$code
private
mixed
$code
$definition
private
mixed
$definition
$description
private
mixed
$description
= ''
$fullDefinition
private
mixed
$fullDefinition
$help
private
mixed
$help
= ''
$helperSet
private
mixed
$helperSet
$hidden
private
mixed
$hidden
= false
$ignoreValidationErrors
private
mixed
$ignoreValidationErrors
= false
$name
private
mixed
$name
$processTitle
private
mixed
$processTitle
$synopsis
private
mixed
$synopsis
= []
$usages
private
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
Return values
mixed —addArgument()
Adds an argument.
public
addArgument(string $name[, int|null $mode = null ][, string $description = '' ][, mixed $default = null ]) : $this
Parameters
- $name : string
- $mode : int|null = 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
$this —addOption()
Adds an option.
public
addOption(string $name[, string|array<string|int, mixed>|null $shortcut = null ][, int|null $mode = null ][, string $description = '' ][, mixed $default = null ]) : $this
Parameters
- $name : string
- $shortcut : string|array<string|int, mixed>|null = null
-
The shortcuts, can be null, a string of shortcuts delimited by | or an array of shortcuts
- $mode : int|null = 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
$this —addUsage()
Add a command usage example, it'll be prefixed with the command name.
public
addUsage(string $usage) : $this
Parameters
- $usage : string
Return values
$this —complete()
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
Return values
void —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|null —getDefaultDescription()
public
static getDefaultDescription() : string|null
Return values
string|null —getDefaultName()
public
static getDefaultName() : string|null
Return values
string|null —getDefinition()
Gets the InputDefinition attached to this Command.
public
getDefinition() : InputDefinition
Return values
InputDefinition —getDescription()
Returns the description for the command.
public
getDescription() : string
Return values
string —getHelp()
Returns the help for the command.
public
getHelp() : string
Return values
string —getHelper()
Gets a helper instance by name.
public
getHelper(string $name) : mixed
Parameters
- $name : string
Tags
Return values
mixed —getHelperSet()
Gets the helper set.
public
getHelperSet() : HelperSet|null
Return values
HelperSet|null —getName()
Returns the command name.
public
getName() : string|null
Return values
string|null —getNativeDefinition()
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
InputDefinition —getProcessedHelp()
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
string —getSynopsis()
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
string —getUsages()
Returns alternative usages of the command.
public
getUsages() : array<string|int, mixed>
Return values
array<string|int, mixed> —ignoreValidationErrors()
Ignores validation errors.
public
ignoreValidationErrors() : mixed
This is mainly useful for the help command.
Return values
mixed —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
bool —isHidden()
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
$this —setApplication()
public
setApplication([Application|null $application = null ]) : mixed
Parameters
- $application : Application|null = null
Return values
mixed —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
$this —setDefinition()
Sets an array of argument and option instances.
public
setDefinition(array<string|int, mixed>|InputDefinition $definition) : $this
Parameters
- $definition : array<string|int, mixed>|InputDefinition
-
An array of argument and option instances or a definition instance
Return values
$this —setDescription()
Sets the description for the command.
public
setDescription(string $description) : $this
Parameters
- $description : string
Return values
$this —setHelp()
Sets the help for the command.
public
setHelp(string $help) : $this
Parameters
- $help : string
Return values
$this —setHelperSet()
public
setHelperSet(HelperSet $helperSet) : mixed
Parameters
- $helperSet : HelperSet
Return values
mixed —setHidden()
public
setHidden(bool $hidden) : $this
Parameters
- $hidden : bool
-
Whether or not the command should be hidden from the list of commands The default value will be true in Symfony 6.0
Tags
Return values
$this —setName()
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
$this —setProcessTitle()
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
$this —configure()
Configures the current command.
protected
configure() : mixed
Return values
mixed —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) : mixed
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
Return values
mixed —interact()
Interacts with the user.
protected
interact(InputInterface $input, OutputInterface $output) : mixed
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
Return values
mixed —validateName()
Validates a command name.
private
validateName(string $name) : mixed
It must be non-empty and parts can optionally be separated by ":".
Parameters
- $name : string