Run CLI commands for the provided application.
stringDefault class name for new event objects.
Cake\Event\EventManagerInterface|nullInstance of the Cake\Event\EventManager this object is using to dispatch inner events.
array<string>Alias mappings.
Cake\Core\ConsoleApplicationInterfaceThe application console commands are being run for.
Cake\Console\CommandFactoryInterface|nullThe application console commands are being run for.
stringThe root command name. Defaults to cake.
Constructor
Application bootstrap wrapper.
The wrapper for creating shell instances.
Wrapper for creating and dispatching events.
Get the shell instance for a given command name
Get the application's event manager or the global one.
Ensure that the application's routes are loaded.
Build the longest command name that exists in the collection
Resolve the command name into a name that exists in the collection.
Run the command contained in $argv.
Execute a Command class.
Execute a Shell class.
Replace the entire alias map for a runner.
Get/set the application's event manager.
__construct(Cake\Core\ConsoleApplicationInterface $app, string $root = 'cake', Cake\Console\CommandFactoryInterface|null $factory = null)
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(): void
Application bootstrap wrapper.
Calls the application's bootstrap() hook. After the application the plugins are bootstrapped.
voidcreateCommand(string $className, Cake\Console\ConsoleIo $io): Cake\Console\CommandInterfaceCake\Console\Shell
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\CommandInterfaceCake\Console\ShelldispatchEvent(string $name, array|null $data = null, object|null $subject = null): Cake\Event\EventInterface
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): Cake\Console\CommandInterfaceCake\Console\Shell
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\CommandInterfaceCake\Console\ShellgetEventManager(): Cake\Event\EventManagerInterface
Get the application's event manager or the global one.
You can use this instance to register any new listeners or callbacks to the object events, or create your own events and trigger them at will.
Cake\Event\EventManagerInterfaceloadRoutes(): void
Ensure that the application's routes are loaded.
Console commands and shells often need to generate URLs.
voidlongestCommandName(Cake\Console\CommandCollection $commands, array $argv): array
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.
arrayresolveName(Cake\Console\CommandCollection $commands, Cake\Console\ConsoleIo $io, string|null $name): string
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.
stringCake\Console\Exception\MissingOptionExceptionrun(array $argv, Cake\Console\ConsoleIo|null $io = null): int
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.
intRuntimeExceptionrunCommand(Cake\Console\CommandInterface $command, array $argv, Cake\Console\ConsoleIo $io): int|null
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|nullrunShell(Cake\Console\Shell $shell, array $argv): int|bool|null
Execute a Shell class.
Cake\Console\Shell $shell The shell to run.
array $argv The CLI arguments to invoke.
int|bool|nullsetAliases(array<string> $aliases): $this
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']);
array<string> $aliases The map of aliases to replace.
$thissetEventManager(Cake\Event\EventManagerInterface $eventManager): $this
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 $eventManager 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\EventManagerInterface|nullAlias mappings.
array<string>The application console commands are being run for.
Cake\Core\ConsoleApplicationInterfaceThe application console commands are being run for.
Cake\Console\CommandFactoryInterface|nullThe 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.4/class-Cake.Console.CommandRunner.html