Run CLI commands for the provided application.
stringDefault class name for new event objects.
\Cake\Event\EventManagerInterfaceInstance of the Cake\Event\EventManager this object is using to dispatch inner events.
string[]Alias mappings.
\Cake\Core\ConsoleApplicationInterfaceThe application console commands are being run for.
\Cake\Console\CommandFactoryInterfaceThe application console commands are being run for.
stringThe 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\CommandInterfacedispatchEvent(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\EventInterfacegetCommand(\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\CommandInterfacegetEventManager()
Get the application's event manager or the global one.
\Cake\Event\EventManagerInterfaceloadRoutes()
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.
arrayAn 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.
stringThe resolved name.
Cake\Console\Exception\MissingOptionExceptionrun(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.
intThe exit code of the command.
RuntimeExceptionrunCommand(\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|nullExit 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|nullExit 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.
$thissetEventManager(\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.
$thisInvalidArgumentExceptionDefault class name for new event objects.
stringInstance of the Cake\Event\EventManager this object is using to dispatch inner events.
\Cake\Event\EventManagerInterfaceAlias mappings.
string[]The application console commands are being run for.
\Cake\Core\ConsoleApplicationInterfaceThe application console commands are being run for.
\Cake\Console\CommandFactoryInterfaceThe 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