name: Command class_comment: '# * Base class for all commands. # * # * @author Fabien Potencier ' dependencies: - name: Application type: class source: Symfony\Component\Console\Application - name: AsCommand type: class source: Symfony\Component\Console\Attribute\AsCommand - name: CompletionInput type: class source: Symfony\Component\Console\Completion\CompletionInput - name: CompletionSuggestions type: class source: Symfony\Component\Console\Completion\CompletionSuggestions - name: Suggestion type: class source: Symfony\Component\Console\Completion\Suggestion - name: ExceptionInterface type: class source: Symfony\Component\Console\Exception\ExceptionInterface - name: InvalidArgumentException type: class source: Symfony\Component\Console\Exception\InvalidArgumentException - name: LogicException type: class source: Symfony\Component\Console\Exception\LogicException - name: HelperInterface type: class source: Symfony\Component\Console\Helper\HelperInterface - name: HelperSet type: class source: Symfony\Component\Console\Helper\HelperSet - name: InputArgument type: class source: Symfony\Component\Console\Input\InputArgument - name: InputDefinition type: class source: Symfony\Component\Console\Input\InputDefinition - name: InputInterface type: class source: Symfony\Component\Console\Input\InputInterface - name: InputOption type: class source: Symfony\Component\Console\Input\InputOption - name: OutputInterface type: class source: Symfony\Component\Console\Output\OutputInterface properties: [] methods: - name: __construct visibility: public parameters: - name: name default: 'null' comment: "# * Base class for all commands.\n# *\n# * @author Fabien Potencier \n\ # */\n# class Command\n# {\n# // see https://tldp.org/LDP/abs/html/exitcodes.html\n\ # public const SUCCESS = 0;\n# public const FAILURE = 1;\n# public const INVALID\ \ = 2;\n# \n# private ?Application $application = null;\n# private ?string $name\ \ = null;\n# private ?string $processTitle = null;\n# private array $aliases =\ \ [];\n# private InputDefinition $definition;\n# private bool $hidden = false;\n\ # private string $help = '';\n# private string $description = '';\n# private ?InputDefinition\ \ $fullDefinition = null;\n# private bool $ignoreValidationErrors = false;\n#\ \ private ?\\Closure $code = null;\n# private array $synopsis = [];\n# private\ \ array $usages = [];\n# private ?HelperSet $helperSet = null;\n# \n# public static\ \ function getDefaultName(): ?string\n# {\n# if ($attribute = (new \\ReflectionClass(static::class))->getAttributes(AsCommand::class))\ \ {\n# return $attribute[0]->newInstance()->name;\n# }\n# \n# return null;\n#\ \ }\n# \n# public static function getDefaultDescription(): ?string\n# {\n# if\ \ ($attribute = (new \\ReflectionClass(static::class))->getAttributes(AsCommand::class))\ \ {\n# return $attribute[0]->newInstance()->description;\n# }\n# \n# return null;\n\ # }\n# \n# /**\n# * @param string|null $name The name of the command; passing\ \ null means it must be set in configure()\n# *\n# * @throws LogicException When\ \ the command name is empty" - name: ignoreValidationErrors visibility: public parameters: [] comment: '# * Ignores validation errors. # * # * This is mainly useful for the help command.' - name: setApplication visibility: public parameters: - name: application comment: null - name: setHelperSet visibility: public parameters: - name: helperSet comment: null - name: getHelperSet visibility: public parameters: [] comment: '# * Gets the helper set.' - name: getApplication visibility: public parameters: [] comment: '# * Gets the application instance for this command.' - name: isEnabled visibility: public parameters: [] comment: '# * 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 cannot # * run properly under the current conditions.' - name: configure visibility: protected parameters: [] comment: '# * Configures the current command. # * # * @return void' - name: execute visibility: protected parameters: - name: input - name: output comment: '# * Executes the current command. # * # * 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. # * # * @return int 0 if everything went fine, or an exit code # * # * @throws LogicException When this abstract method is not implemented # * # * @see setCode()' - name: interact visibility: protected parameters: - name: input - name: output comment: '# * Interacts with the user. # * # * 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. # * # * @return void' - name: initialize visibility: protected parameters: - name: input - name: output comment: '# * Initializes the command after the input has been bound and before the input # * is validated. # * # * 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. # * # * @see InputInterface::bind() # * @see InputInterface::validate() # * # * @return void' - name: run visibility: public parameters: - name: input - name: output comment: '# * 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. # * # * @return int The command exit code # * # * @throws ExceptionInterface When input binding fails. Bypass this by calling {@link ignoreValidationErrors()}. # * # * @see setCode() # * @see execute()' - name: complete visibility: public parameters: - name: input - name: suggestions comment: '# * Supplies suggestions when resolving possible completion options for input (e.g. option or argument).' - name: setCode visibility: public parameters: - name: code comment: '# * Sets the code to execute when running this command. # * # * If this method is used, it overrides the code defined # * in the execute() method. # * # * @param callable $code A callable(InputInterface $input, OutputInterface $output) # * # * @return $this # * # * @throws InvalidArgumentException # * # * @see execute()' - name: mergeApplicationDefinition visibility: public parameters: - name: mergeArgs default: 'true' comment: '# * Merges the application definition with the command definition. # * # * This method is not part of public API and should not be used directly. # * # * @param bool $mergeArgs Whether to merge or not the Application definition arguments to Command definition arguments # * # * @internal' - name: setDefinition visibility: public parameters: - name: definition comment: '# * Sets an array of argument and option instances. # * # * @return $this' - name: getDefinition visibility: public parameters: [] comment: '# * Gets the InputDefinition attached to this Command.' - name: getNativeDefinition visibility: public parameters: [] comment: '# * 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.' - name: addArgument visibility: public parameters: - name: name - name: mode default: 'null' - name: description default: '''''' - name: default default: 'null' - name: suggestedValues default: '[]' comment: '# * Adds an argument. # * # * @param $mode The argument mode: InputArgument::REQUIRED or InputArgument::OPTIONAL # * @param $default The default value (for InputArgument::OPTIONAL mode only) # * @param array|\Closure(CompletionInput,CompletionSuggestions):list $suggestedValues The values used for input completion # * # * @return $this # * # * @throws InvalidArgumentException When argument mode is not valid' - name: addOption visibility: public parameters: - name: name - name: shortcut default: 'null' - name: mode default: 'null' - name: description default: '''''' - name: default default: 'null' - name: suggestedValues default: '[]' comment: '# * Adds an option. # * # * @param $shortcut The shortcuts, can be null, a string of shortcuts delimited by | or an array of shortcuts # * @param $mode The option mode: One of the InputOption::VALUE_* constants # * @param $default The default value (must be null for InputOption::VALUE_NONE) # * @param array|\Closure(CompletionInput,CompletionSuggestions):list $suggestedValues The values used for input completion # * # * @return $this # * # * @throws InvalidArgumentException If option mode is invalid or incompatible' - name: setName visibility: public parameters: - name: name comment: '# * 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''); # * # * @return $this # * # * @throws InvalidArgumentException When the name is invalid' - name: setProcessTitle visibility: public parameters: - name: title comment: '# * Sets the process title of the command. # * # * This feature should be used only when creating a long process command, # * like a daemon. # * # * @return $this' - name: getName visibility: public parameters: [] comment: '# * Returns the command name.' - name: setHidden visibility: public parameters: - name: hidden default: 'true' comment: '# * @param bool $hidden Whether or not the command should be hidden from the list of commands # * # * @return $this' - name: isHidden visibility: public parameters: [] comment: '# * @return bool whether the command should be publicly shown or not' - name: setDescription visibility: public parameters: - name: description comment: '# * Sets the description for the command. # * # * @return $this' - name: getDescription visibility: public parameters: [] comment: '# * Returns the description for the command.' - name: setHelp visibility: public parameters: - name: help comment: '# * Sets the help for the command. # * # * @return $this' - name: getHelp visibility: public parameters: [] comment: '# * Returns the help for the command.' - name: getProcessedHelp visibility: public parameters: [] comment: '# * Returns the processed help for the command replacing the %command.name% and # * %command.full_name% patterns with the real values dynamically.' - name: setAliases visibility: public parameters: - name: aliases comment: '# * Sets the aliases for the command. # * # * @param string[] $aliases An array of aliases for the command # * # * @return $this # * # * @throws InvalidArgumentException When an alias is invalid' - name: getAliases visibility: public parameters: [] comment: '# * Returns the aliases for the command.' - name: getSynopsis visibility: public parameters: - name: short default: 'false' comment: '# * Returns the synopsis for the command. # * # * @param bool $short Whether to show the short version of the synopsis (with options folded) or not' - name: addUsage visibility: public parameters: - name: usage comment: '# * Add a command usage example, it''ll be prefixed with the command name. # * # * @return $this' - name: getUsages visibility: public parameters: [] comment: '# * Returns alternative usages of the command.' - name: getHelper visibility: public parameters: - name: name comment: '# * Gets a helper instance by name. # * # * @throws LogicException if no HelperSet is defined # * @throws InvalidArgumentException if the helper is not defined' - name: validateName visibility: private parameters: - name: name comment: '# * Validates a command name. # * # * It must be non-empty and parts can optionally be separated by ":". # * # * @throws InvalidArgumentException When the name is invalid' traits: - Symfony\Component\Console\Application - Symfony\Component\Console\Attribute\AsCommand - Symfony\Component\Console\Completion\CompletionInput - Symfony\Component\Console\Completion\CompletionSuggestions - Symfony\Component\Console\Completion\Suggestion - Symfony\Component\Console\Exception\ExceptionInterface - Symfony\Component\Console\Exception\InvalidArgumentException - Symfony\Component\Console\Exception\LogicException - Symfony\Component\Console\Helper\HelperInterface - Symfony\Component\Console\Helper\HelperSet - Symfony\Component\Console\Input\InputArgument - Symfony\Component\Console\Input\InputDefinition - Symfony\Component\Console\Input\InputInterface - Symfony\Component\Console\Input\InputOption - Symfony\Component\Console\Output\OutputInterface interfaces: []