Class CommandCollection
Collection for Commands.
Used by Applications to whitelist their console commands. CakePHP will use the mapped commands to construct and dispatch shell commands.
- Cake\Console\CommandCollection implements IteratorAggregate, Countable
Properties summary
-
$commands
protectedarray
Command list
Method Summary
-
__construct() public
Constructor -
add() public
Add a command to the collection -
addMany() public
Add multiple commands at once. -
autoDiscover() public
Automatically discover shell commands in CakePHP, the application and all plugins. -
count() public
Implementation of Countable. -
discoverPlugin() public
Auto-discover shell & commands from the named plugin. -
get() public
Get the target for a command. -
getIterator() public
Implementation of IteratorAggregate. -
has() public
Check whether the named shell exists in the collection. -
remove() public
Remove a command from the collection if it exists. -
resolveNames() protected
Resolve names based on existing commands
Method Detail
__construct() public ¶
__construct( array $commands [] )
Constructor
Parameters
- array $commands optional []
- The map of commands to add to the collection.
add() public ¶
add( string $name , string|Cake\Console\Shell
|Cake\Console\Command
$command )
Add a command to the collection
Parameters
- string $name
- The name of the command you want to map.
-
string|
Cake\Console\Shell
|Cake\Console\Command
$command - The command to map.
Returns
$this
addMany() public ¶
addMany( array $commands )
Add multiple commands at once.
Parameters
- array $commands
- A map of command names => command classes/instances.
Returns
$this
See
autoDiscover() public ¶
autoDiscover( )
Automatically discover shell commands in CakePHP, the application and all plugins.
Commands will be located using filesystem conventions. Commands are discovered in the following order:
- CakePHP provided commands
- Application commands
Commands defined in the application will ovewrite commands with the same name provided by CakePHP.
Returns
An array of command names and their classes.
count() public ¶
count( )
Implementation of Countable.
Get the number of commands in the collection.
Returns
Implementation of
Countable::count()
discoverPlugin() public ¶
discoverPlugin( string $plugin )
Auto-discover shell & commands from the named plugin.
Discovered commands will have their names de-duplicated with
existing commands in the collection. If a command is already
defined in the collection and discovered in a plugin, only
the long name (plugin.command
) will be returned.
Parameters
- string $plugin
- The plugin to scan.
Returns
Discovered plugin commands.
get() public ¶
get( string $name )
Get the target for a command.
Parameters
- string $name
- The named shell.
Returns
Throws
when unknown commands are fetched.
getIterator() public ¶
getIterator( )
Implementation of IteratorAggregate.
Returns
Implementation of
IteratorAggregate::getIterator()
has() public ¶
has( string $name )
Check whether the named shell exists in the collection.
Parameters
- string $name
- The named shell.
Returns
remove() public ¶
remove( string $name )
Remove a command from the collection if it exists.
Parameters
- string $name
- The named shell.
Returns
$this
resolveNames() protected ¶
resolveNames( array $input )
Resolve names based on existing commands
Parameters
- array $input
- The results of a CommandScanner operation.
Returns
A flat map of command names => class names.