Spec-Zone.ru › CakePHP 3.8

Класс PluginCollection

Коллекция плагинов

Хранит объекты плагинов, загруженные в приложение, и предоставляет методы для итерации и поиска плагинов по критериям.

Этот класс реализует интерфейс Iterator, что позволяет итерироваться по плагинам, обрабатывая ситуации, когда метод хука плагина (обычно bootstrap) загружает другой плагин во время итерации.

Хотя его реализация поддерживает вложенную итерацию, она не поддерживает использование continue или break внутри циклов.

Cake\Core\PluginCollection реализует Iterator, Countable
Пространство имён: Cake\Core
Расположение: Core/PluginCollection.php

Краткое описание свойств

  • $loopDepth protected
    integer
    Глубина цикла
  • $names protected
    array
    Имена плагинов
  • $plugins protected
    array
    Список плагинов
  • $positions protected
    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

clear()source public

clear( )

Удалить все плагины из коллекции

Возвращает


$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
Плагин с именем.

Возвращает

булево значение

key()source public

key( )

Часть интерфейса Iterator

Возвращает

строка

Реализация

Iterator::key()

next()source public

next( )

Часть интерфейса Iterator

Реализация

Iterator::next()

remove()source public

remove( string $name )

Удалить плагин из коллекции, если он существует.

Параметры

строка $name
Плагин с именем.

Возвращает


$this

rewind()source public

rewind( )

Часть интерфейса Iterator

Реализация

Iterator::rewind()

valid()source public

valid( )

Часть интерфейса Iterator

Возвращает

булево значение

Реализация

Iterator::valid()

with()source public

with( string $hook )

Фильтровать плагины, у которых включён указанный хук.

Параметры

строка $hook
Хук для фильтрации плагинов

Возвращает

Generator
Генератор, содержащий соответствующие плагины.

Исключения

InvalidArgumentException
при неверных хуках

Подробное описание свойств

$loopDepthsource

protected целое число

Глубина цикла

-1

$namessource

protected массив

Имена плагинов

[]

$pluginssource

protected массив

Список плагинов

[]

$positionssource

protected int[]

Стек позиций итератора.

[]

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API