Класс CommandCollection
Коллекция команд.
Используется приложениями для добавления в белый список своих команд консоли. CakePHP будет использовать сопоставленные команды для построения и отправки команд оболочки.
- Cake\Console\CommandCollection реализует IteratorAggregate, Countable
Краткое описание свойств
-
$commandsprotectedСписок командarray
Краткое описание методов
- __construct() publicКонструктор
- add() publicДобавить команду в коллекцию
- addMany() publicДобавление нескольких команд сразу.
- autoDiscover() publicАвтоматическое обнаружение команд оболочки в CakePHP, приложении и всех плагинах.
- count() publicРеализация Countable.
- discoverPlugin() publicАвтоматическое обнаружение команд оболочки и команд из указанного плагина.
- get() publicПолучить целевой объект для команды.
- getIterator() publicРеализация IteratorAggregate.
- has() publicПроверить, существует ли команда оболочки с указанным именем в коллекции.
- remove() publicУдалить команду из коллекции, если она существует.
- resolveNames() protectedРазрешение имён на основе существующих команд
Подробное описание методов
__construct()source public
__construct( array $commands = [] )
Конструктор
Параметры
- массив
$commandsнеобязательно [] - Карта команд для добавления в коллекцию.
add()source public
add( string $name , string|Cake\Console\Shell|Cake\Console\Command $command )
Добавить команду в коллекцию
Параметры
- строка
$name - Имя команды, которую вы хотите сопоставить.
- строка|
Cake\Console\Shell|Cake\Console\Command$command - Команда для сопоставления.
Возвращает
$this
addMany()source public
addMany( array $commands )
Добавление нескольких команд сразу.
Параметры
- массив
$commands - Карта имён команд => классы/экземпляры команд.
Возвращает
$this
См. также
\Cake\Console\CommandCollection::add()autoDiscover()source public
autoDiscover( )
Автоматическое обнаружение команд оболочки в CakePHP, приложении и всех плагинах.
Команды будут обнаружены с помощью соглашений файловой системы. Команды обнаруживаются в следующем порядке:
- Команды, предоставляемые CakePHP
- Команды приложения
Команды, определённые в приложении, перезапишут команды с тем же именем, предоставляемые CakePHP.
Возвращает
массивМассив имён команд и их классов.
count()source public
count( )
Реализация Countable.
Получить количество команд в коллекции.
Возвращает
целое числоРеализует
Countable::count() discoverPlugin()source public
discoverPlugin( string $plugin )
Автоматическое обнаружение команд оболочки и команд из указанного плагина.
Обнаруженные команды будут иметь свои имена, дубликаты которых будут удалены из существующих команд в коллекции. Если команда уже определена в коллекции и обнаружена в плагине, будет возвращено только длинное имя (plugin.command).
Параметры
- строка
$plugin - Плагин для сканирования.
Возвращает
массивОбнаруженные команды плагина.
get()source public
get( string $name )
Получить целевой объект для команды.
Параметры
- строка
$name - Имя команды оболочки.
Возвращает
строка|Cake\Console\ShellКласс оболочки или экземпляр.
Выбрасывает
InvalidArgumentExceptionпри получении неизвестной команды.
getIterator()source public
getIterator( )
Реализация IteratorAggregate.
Возвращает
ArrayIteratorРеализует
IteratorAggregate::getIterator() has()source public
has( string $name )
Проверить, существует ли команда оболочки с указанным именем в коллекции.
Параметры
- строка
$name - Имя команды оболочки.
Возвращает
булево значениеremove()source public
remove( string $name )
Удалить команду из коллекции, если она существует.
Параметры
- строка
$name - Имя команды оболочки.
Возвращает
$this
resolveNames()source protected
resolveNames( array $input )
Разрешение имён на основе существующих команд
Параметры
- массив
$input - Результаты операции CommandScanner.
Возвращает
массивПлоская карта имён команд => имён классов.
Подробное описание свойств
© 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