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
protectedCommand listarray
Method Summary
- __construct() publicConstructor
- add() publicAdd a command to the collection
- addMany() publicAdd multiple commands at once.
- autoDiscover() publicAutomatically discover shell commands in CakePHP, the application and all plugins.
- count() publicImplementation of Countable.
- discoverPlugin() publicAuto-discover shell & commands from the named plugin.
- get() publicGet the target for a command.
- getIterator() publicImplementation of IteratorAggregate.
- has() publicCheck whether the named shell exists in the collection.
- remove() publicRemove a command from the collection if it exists.
- resolveNames() protectedResolve names based on existing commands
Method Detail
__construct()source public
__construct( array $commands = [] )
Constructor
Parameters
- array
$commands
optional [] - The map of commands to add to the collection.
add()source 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()source public
addMany( array $commands )
Add multiple commands at once.
Parameters
- array
$commands
- A map of command names => command classes/instances.
Returns
$this
See
\Cake\Console\CommandCollection::add()autoDiscover()source 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
arrayAn array of command names and their classes.
count()source public
count( )
Implementation of Countable.
Get the number of commands in the collection.
Returns
integerImplementation of
Countable::count()
discoverPlugin()source 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
arrayDiscovered plugin commands.
get()source public
get( string $name )
Get the target for a command.
Parameters
- string
$name
- The named shell.
Returns
string|Cake\Console\Shell
Either the shell class or an instance.
Throws
InvalidArgumentExceptionwhen unknown commands are fetched.
getIterator()source public
getIterator( )
Implementation of IteratorAggregate.
Returns
ArrayIteratorImplementation of
IteratorAggregate::getIterator()
has()source public
has( string $name )
Check whether the named shell exists in the collection.
Parameters
- string
$name
- The named shell.
Returns
booleanremove()source public
remove( string $name )
Remove a command from the collection if it exists.
Parameters
- string
$name
- The named shell.
Returns
$this
resolveNames()source protected
resolveNames( array $input )
Resolve names based on existing commands
Parameters
- array
$input
- The results of a CommandScanner operation.
Returns
arrayA flat map of command names => class names.
Properties detail
© 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.CommandCollection.html