Class BaseCommand
Base class for console commands.
Provides hooks for common command features:
-
initializeActs as a post-construct hook. -
buildOptionParserBuild/Configure the option parser for your command. -
executeExecute your command with parsed Arguments and ConsoleIo
Constants summary
-
intCODE_ERROR1 -
intCODE_SUCCESS0
Properties summary
- $name protected
stringThe name of this command.
Method Summary
Method Detail
abort() public
abort(int $code)
Halt the the current process with a StopException.
Parameters
-
int$code optional The exit code to use.
Throws
Cake\Console\Exception\StopExceptionbuildOptionParser() protected
buildOptionParser(\Cake\Console\ConsoleOptionParser $parser)
Hook method for defining this command's option parser.
Parameters
-
\Cake\Console\ConsoleOptionParser$parser The parser to be defined
Returns
\Cake\Console\ConsoleOptionParserThe built parser.
defaultName() public static
defaultName()
Get the command name.
Returns the command name based on class name. For e.g. for a command with class name UpdateTableCommand the default name returned would be 'update_table'.
Returns
stringdisplayHelp() protected
displayHelp(\Cake\Console\ConsoleOptionParser $parser, \Cake\Console\Arguments $args, \Cake\Console\ConsoleIo $io)
Output help content
Parameters
-
\Cake\Console\ConsoleOptionParser$parser The option parser.
-
\Cake\Console\Arguments$args The command arguments.
-
\Cake\Console\ConsoleIo$io The console io
execute() abstract public
execute(\Cake\Console\Arguments $args, \Cake\Console\ConsoleIo $io)
Implement this method with your command's logic.
Parameters
-
\Cake\Console\Arguments$args The command arguments.
-
\Cake\Console\ConsoleIo$io The console io
Returns
int|null|voidThe exit code or null for success
executeCommand() public
executeCommand(mixed $command, array $args, ?\Cake\Console\ConsoleIo $io)
Execute another command with the provided set of arguments.
Parameters
-
string|\Cake\Console\CommandInterface$command The command class name or command instance.
-
array$args optional The arguments to invoke the command with.
-
\Cake\Console\ConsoleIo$io optional The ConsoleIo instance to use for the executed command.
Returns
int|nullThe exit code or null for success of the command.
getName() public
getName()
Get the command name.
Returns
stringgetOptionParser() public
getOptionParser()
Get the option parser.
You can override buildOptionParser() to define your options & arguments.
Returns
\Cake\Console\ConsoleOptionParserThrows
RuntimeExceptionWhen the parser is invalid
getRootName() public
getRootName()
Get the root command name.
Returns
stringinitialize() public
initialize()
Hook method invoked by CakePHP when a command is about to be executed.
Override this method and implement expensive/important setup steps that should not run on every command run. This method will be called before the options and arguments are validated and processed.
run() public
run(array $argv, \Cake\Console\ConsoleIo $io)
Run the command.
Parameters
-
array$argv Arguments from the CLI environment.
-
\Cake\Console\ConsoleIo$io The console io
Returns
int|nullExit code or null for success.
setName() public
setName(string $name)
Set the name this command uses in the collection.
Generally invoked by the CommandCollection when the command is added. Required to have at least one space in the name so that the root command can be calculated.
Parameters
-
string$name The name the command uses in the collection.
Returns
$thisThrows
InvalidArgumentExceptionsetOutputLevel() protected
setOutputLevel(\Cake\Console\Arguments $args, \Cake\Console\ConsoleIo $io)
Set the output level based on the Arguments.
Parameters
-
\Cake\Console\Arguments$args The command arguments.
-
\Cake\Console\ConsoleIo$io The console io
Property Detail
$name protected
The name of this command.
Type
string
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.1/class-Cake.Console.BaseCommand.html