Класс 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.8/class-Cake.Console.CommandCollection.html