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.
Properties summary
- $commands protected
array
Command list
Method Summary
- autoDiscover() public
Automatically discover shell commands in CakePHP, the application and all plugins.
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, mixed $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\CommandInterface
$command The command to map. Can be a FQCN, Shell instance or CommandInterface instance.
Returns
$this
Throws
InvalidArgumentException
addMany() public
addMany(array $commands)
Add multiple commands at once.
Parameters
-
array
$commands A map of command names => command classes/instances.
Returns
$this
See Also
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
string[]
An array of command names and their classes.
count() public
count()
Implementation of Countable.
Get the number of commands in the collection.
Returns
int
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
string[]
Discovered plugin commands.
get() public
get(string $name)
Get the target for a command.
Parameters
-
string
$name The named shell.
Returns
string|\Cake\Console\Shell|\Cake\Console\CommandInterface
Either the command class or an instance.
Throws
InvalidArgumentException
when unknown commands are fetched.
getIterator() public
getIterator()
Implementation of IteratorAggregate.
Returns
\Traversable
has() public
has(string $name)
Check whether the named shell exists in the collection.
Parameters
-
string
$name The named shell.
Returns
bool
keys() public
keys()
Get the list of available command names.
Returns
string[]
Command names
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
string[]
A flat map of command names => class names.
Property Detail
$commands protected
Command list
Type
array
© 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.0/class-Cake.Console.CommandCollection.html