Class CommandRunner
Run CLI commands for the provided application.
- Cake\Console\CommandRunner implements Cake\Event\EventDispatcherInterface uses Cake\Event\EventDispatcherTrait
Properties summary
-
$aliases
protectedAlias mappings.array
-
$app
protected -
$factory
protected -
$root
protectedThe root command name. Defaults tostring
cake
.
Inherited Properties
Method Summary
- __construct() publicConstructor
- bootstrap() protectedApplication bootstrap wrapper.
- Check the created CommandCollection
- createShell() protectedThe wrapper for creating shell instances.
- Get/set the application's event manager.
- getEventManager() publicGet the application's event manager or the global one.
- getShell() protectedGet the shell instance for a given command name
- loadRoutes() protectedEnsure that the application's routes are loaded.
- resolveName() protectedResolve the command name into a name that exists in the collection.
- run() publicRun the command contained in $argv.
- runShell() protectedExecute a Shell class.
- setAliases() publicReplace the entire alias map for a runner.
- setEventManager() publicGet/set the application's event manager.
Method Detail
__construct()source public
__construct( Cake\Core\ConsoleApplicationInterface $app , string $root = 'cake' , Cake\Console\CommandFactoryInterface $factory = null )
Constructor
Parameters
-
Cake\Core\ConsoleApplicationInterface
$app
- The application to run CLI commands for.
- string
$root
optional 'cake' - The root command name to be removed from argv.
-
Cake\Console\CommandFactoryInterface
$factory
optional null - Command factory instance.
bootstrap()source protected
bootstrap( )
Application bootstrap wrapper.
Calls bootstrap()
and events()
if application implements EventApplicationInterface
. After the application is bootstrapped and events are attached, plugins are bootstrapped and have their events attached.
checkCollection()source protected deprecated
checkCollection( mixed $commands , string $method )
Check the created CommandCollection
Deprecated
3.6.0 This method should be replaced with return types in 4.xParameters
- mixed
$commands
- The CommandCollection to check, could be anything though.
- string
$method
- The method that was used.
Throws
RuntimeExceptioncreateShell()source protected
createShell( string $className , Cake\Console\ConsoleIo $io )
The wrapper for creating shell instances.
Parameters
- string
$className
- Shell class name.
-
Cake\Console\ConsoleIo
$io
- The IO wrapper for the created shell class.
Returns
Cake\Console\Shell
|Cake\Console\Command
eventManager()source public deprecated
eventManager( Cake\Event\EventManager $events = null )
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.
Deprecated
3.6.0 Will be removed in 4.0Parameters
-
Cake\Event\EventManager
$events
optional null - The event manager to set.
Returns
Cake\Event\EventManager
|Cake\Console\CommandRunner
$this
Implementation of
Cake\Event\EventDispatcherInterface::eventManager()
getEventManager()source public
getEventManager( )
Get the application's event manager or the global one.
Returns
Cake\Event\EventManagerInterface
getShell()source protected
getShell( Cake\Console\ConsoleIo $io , Cake\Console\CommandCollection $commands , string $name )
Get the shell instance for a given command name
Parameters
-
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
Returns
Cake\Console\Shell
|Cake\Console\Command
loadRoutes()source protected
loadRoutes( )
Ensure that the application's routes are loaded.
Console commands and shells often need to generate URLs.
resolveName()source protected
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.
Parameters
-
Cake\Console\CommandCollection
$commands
- The command collection to check.
-
Cake\Console\ConsoleIo
$io
- ConsoleIo object for errors.
- string
$name
- The name from the CLI args.
Returns
stringThe resolved name.
run()source public
run( array $argv , Cake\Console\ConsoleIo $io = null )
Run the command contained in $argv.
Use the application to do the following:
- Bootstrap the application
- Create the CommandCollection using the console() hook on the application.
- Trigger the
Console.buildCommands
event of auto-wiring plugins. - Run the requested command.
Parameters
- array
$argv
- The arguments from the CLI environment.
-
Cake\Console\ConsoleIo
$io
optional null - The ConsoleIo instance. Used primarily for testing.
Returns
integerThe exit code of the command.
Throws
RuntimeExceptionrunShell()source protected
runShell( Cake\Console\Shell $shell , array $argv )
Execute a Shell class.
Parameters
-
Cake\Console\Shell
$shell
- The shell to run.
- array
$argv
- The CLI arguments to invoke.
Returns
integerExit code
setAliases()source public
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
Usage
$runner->setAliases(['--version' => 'version']);
Parameters
- array
$aliases
- The map of aliases to replace.
Returns
$this
setEventManager()source public
setEventManager( Cake\Event\EventManager $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.
Parameters
-
Cake\Event\EventManager
$events
- The event manager to set.
Returns
$this
Methods used from Cake\Event\EventDispatcherTrait
dispatchEvent()source public
dispatchEvent( string $name , array|null $data = null , object|null $subject = null )
Wrapper for creating and dispatching events.
Returns a dispatched event.
Parameters
- string
$name
- Name of the event.
- array|null
$data
optional null Any value you wish to be transported with this event to it can be read by listeners.
- object|null
$subject
optional null The object that this event applies to ($this by default).
Returns
Cake\Event\Event
Magic methods inherited from Cake\Event\EventDispatcherInterface
getEventManager() |
Properties detail
$appsource
protected Cake\Core\ConsoleApplicationInterface
The application console commands are being run for.
$factorysource
protected Cake\Console\CommandFactoryInterface
The application console commands are being run for.
© 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/3.6/class-Cake.Console.CommandRunner.html