Класс PluginCollection
Коллекция плагинов
Хранит объекты плагинов, загруженные в приложение, и предоставляет методы для итерации и поиска плагинов по критериям.
Этот класс реализует интерфейс Iterator, что позволяет итерироваться по плагинам, обрабатывая ситуации, когда метод хука плагина (обычно bootstrap) загружает другой плагин во время итерации.
Хотя его реализация поддерживает вложенную итерацию, она не поддерживает использование continue или break внутри циклов.
- Cake\Core\PluginCollection реализует Iterator, Countable
Краткое описание свойств
-
$loopDepthprotectedГлубина циклаinteger -
$namesprotectedИмена плагиновarray -
$pluginsprotectedСписок плагиновarray -
$positionsprotectedСтек позиций итератора.int[]
Краткое описание методов
- __construct() publicКонструктор
- add() publicДобавить плагин в коллекцию
- clear() publicУдалить все плагины из коллекции
- count() publicРеализация Countable.
- current() publicЧасть интерфейса Iterator
- get() publicПолучить плагин по имени
- has() publicПроверить, существует ли плагин с указанным именем в коллекции.
- key() publicЧасть интерфейса Iterator
- next() publicЧасть интерфейса Iterator
- remove() publicУдалить плагин из коллекции, если он существует.
- rewind() publicЧасть интерфейса Iterator
- valid() publicЧасть интерфейса Iterator
- with() publicФильтровать плагины, у которых включён указанный хук.
Подробное описание методов
__construct()source public
__construct( array $plugins = [] )
Конструктор
Параметры
- массив
$pluginsнеобязательно [] - Карта плагинов для добавления в коллекцию.
add()source public
add( Cake\Core\PluginInterface $plugin )
Добавить плагин в коллекцию
Плагины будут проиндексированы по их именам.
Параметры
-
Cake\Core\PluginInterface$plugin - Плагин для загрузки.
Возвращает
$this
count()source public
count( )
Реализация Countable.
Получить количество плагинов в коллекции.
Возвращает
целое числоРеализация
Countable::count() current()source public
current( )
Часть интерфейса Iterator
Возвращает
Cake\Core\PluginInterfaceРеализация
Iterator::current() get()source public
get( string $name )
Получить плагин по имени
Параметры
- строка
$name - Плагин для получения.
Возвращает
Cake\Core\PluginInterfaceПлагин.
Исключения
Cake\Core\Exception\MissingPluginExceptionпри получении неизвестных плагинов.
has()source public
has( string $name )
Проверить, существует ли плагин с указанным именем в коллекции.
Параметры
- строка
$name - Плагин с именем.
Возвращает
булево значениеremove()source public
remove( string $name )
Удалить плагин из коллекции, если он существует.
Параметры
- строка
$name - Плагин с именем.
Возвращает
$this
valid()source public
valid( )
Часть интерфейса Iterator
Возвращает
булево значениеРеализация
Iterator::valid() with()source public
with( string $hook )
Фильтровать плагины, у которых включён указанный хук.
Параметры
- строка
$hook - Хук для фильтрации плагинов
Возвращает
GeneratorГенератор, содержащий соответствующие плагины.
Исключения
InvalidArgumentExceptionпри неверных хуках
Подробное описание свойств
© 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.Core.PluginCollection.html