Run CLI commands for the provided application.
string
Default class name for new event objects.
\Cake\Event\EventManagerInterface
Instance of the Cake\Event\EventManager this object is using to dispatch inner events.
string[]
Alias mappings.
\Cake\Core\ConsoleApplicationInterface
The application console commands are being run for.
\Cake\Console\CommandFactoryInterface
The application console commands are being run for.
string
The root command name. Defaults to cake
.
__construct(\Cake\Core\ConsoleApplicationInterface $app, string $root, ?\Cake\Console\CommandFactoryInterface $factory)
Constructor
\Cake\Core\ConsoleApplicationInterface
$app The application to run CLI commands for.
string
$root optional The root command name to be removed from argv.
\Cake\Console\CommandFactoryInterface|null
$factory optional Command factory instance.
bootstrap()
Application bootstrap wrapper.
Calls the application's bootstrap()
hook. After the application the plugins are bootstrapped.
createCommand(string $className, \Cake\Console\ConsoleIo $io)
The wrapper for creating shell instances.
string
$className Shell class name.
\Cake\Console\ConsoleIo
$io The IO wrapper for the created shell class.
\Cake\Console\Shell|\Cake\Console\CommandInterface
dispatchEvent(string $name, ?array $data, ?object $subject)
Wrapper for creating and dispatching events.
Returns a dispatched event.
string
$name Name of the event.
array|null
$data optional Any value you wish to be transported with this event to it can be read by listeners.
object|null
$subject optional The object that this event applies to ($this by default).
\Cake\Event\EventInterface
getCommand(\Cake\Console\ConsoleIo $io, \Cake\Console\CommandCollection $commands, string $name)
Get the shell instance for a given command name
\Cake\Console\ConsoleIo
$io The IO wrapper for the created shell class.
\Cake\Console\CommandCollection
$commands The command collection to find the shell in.
string
$name The command name to find
\Cake\Console\Shell|\Cake\Console\CommandInterface
getEventManager()
Get the application's event manager or the global one.
\Cake\Event\EventManagerInterface
loadRoutes()
Ensure that the application's routes are loaded.
Console commands and shells often need to generate URLs.
longestCommandName(\Cake\Console\CommandCollection $commands, array $argv)
Build the longest command name that exists in the collection
Build the longest command name that matches a defined command. This will traverse a maximum of 3 tokens.
\Cake\Console\CommandCollection
$commands The command collection to check.
array
$argv The CLI arguments.
array
An array of the resolved name and modified argv.
resolveName(\Cake\Console\CommandCollection $commands, \Cake\Console\ConsoleIo $io, ?string $name)
Resolve the command name into a name that exists in the collection.
Apply backwards compatible inflections and aliases. Will step forward up to 3 tokens in $argv to generate a command name in the CommandCollection. More specific command names take precedence over less specific ones.
\Cake\Console\CommandCollection
$commands The command collection to check.
\Cake\Console\ConsoleIo
$io ConsoleIo object for errors.
string|null
$name The name from the CLI args.
string
The resolved name.
Cake\Console\Exception\MissingOptionException
run(array $argv, ?\Cake\Console\ConsoleIo $io)
Run the command contained in $argv.
Use the application to do the following:
Console.buildCommands
event of auto-wiring plugins.array
$argv The arguments from the CLI environment.
\Cake\Console\ConsoleIo|null
$io optional The ConsoleIo instance. Used primarily for testing.
int
The exit code of the command.
RuntimeException
runCommand(\Cake\Console\CommandInterface $command, array $argv, \Cake\Console\ConsoleIo $io)
Execute a Command class.
\Cake\Console\CommandInterface
$command The command to run.
array
$argv The CLI arguments to invoke.
\Cake\Console\ConsoleIo
$io The console io
int|null
Exit code
runShell(\Cake\Console\Shell $shell, array $argv)
Execute a Shell class.
\Cake\Console\Shell
$shell The shell to run.
array
$argv The CLI arguments to invoke.
int|bool|null
Exit code
setAliases(array $aliases)
Replace the entire alias map for a runner.
Aliases allow you to define alternate names for commands in the collection. This can be useful to add top level switches like --version
or -h
$runner->setAliases(['--version' => 'version']);
string[]
$aliases The map of aliases to replace.
$this
setEventManager(\Cake\Event\EventManagerInterface $events)
Get/set the application's event manager.
If the application does not support events and this method is used as a setter, an exception will be raised.
\Cake\Event\EventManagerInterface
$events The event manager to set.
$this
InvalidArgumentException
Default class name for new event objects.
string
Instance of the Cake\Event\EventManager this object is using to dispatch inner events.
\Cake\Event\EventManagerInterface
Alias mappings.
string[]
The application console commands are being run for.
\Cake\Core\ConsoleApplicationInterface
The application console commands are being run for.
\Cake\Console\CommandFactoryInterface
The root command name. Defaults to cake
.
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.CommandRunner.html