Class BaseCommand
Base class for console commands.
Provides hooks for common command features:
-
initialize
Acts as a post-construct hook. -
buildOptionParser
Build/Configure the option parser for your command. -
execute
Execute your command with parsed Arguments and ConsoleIo
Constants summary
-
int
CODE_ERROR1
-
int
CODE_SUCCESS0
Properties summary
- $name protected
string
The 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\StopException
buildOptionParser() 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\ConsoleOptionParser
The 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
string
displayHelp() 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|void
The 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|null
The exit code or null for success of the command.
getName() public
getName()
Get the command name.
Returns
string
getOptionParser() public
getOptionParser()
Get the option parser.
You can override buildOptionParser() to define your options & arguments.
Returns
\Cake\Console\ConsoleOptionParser
Throws
RuntimeException
When the parser is invalid
getRootName() public
getRootName()
Get the root command name.
Returns
string
initialize() 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|null
Exit 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
$this
Throws
InvalidArgumentException
setOutputLevel() 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