Spec-Zone.ru › CakePHP 4.2

Класс PluginCollection

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

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

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

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

Пространство имен: Cake\Core

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

  • $loopDepth protected
    int

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

  • $names protected
    string[]

    Названия плагинов

  • $plugins protected
    Cake\Core\PluginInterface[]

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

  • $positions protected
    int[]

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

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

  • __construct() public

    Конструктор

  • add() public

    Добавить плагин в коллекцию

  • clear() public

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

  • count() public

    Реализация Countable.

  • create() public

    Создать экземпляр плагина из имени/имени класса и конфигурации.

  • current() public

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

  • findPath() public

    Найти путь к плагину, просматривая данные конфигурации.

  • get() public

    Получить плагин по имени.

  • has() public

    Проверить, существует ли плагин с указанным именем в коллекции.

  • key() public

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

  • loadConfig() protected

    Загрузить информацию о пути, хранящуюся в vendor/cakephp-plugins.php

  • next() public

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

  • remove() public

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

  • rewind() public

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

  • valid() public

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

  • with() public

    Отфильтровать плагины до тех, у которых включен указанный хук.

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

__construct() public

__construct(Cake\Core\PluginInterface[] $plugins = [])

Конструктор

Параметры

Cake\Core\PluginInterface[] $plugins optional

Карта плагинов для добавления в коллекцию.

add() public

add(Cake\Core\PluginInterface $plugin): $this

Добавить плагин в коллекцию

Плагины будут индексироваться по их именам.

Параметры

Cake\Core\PluginInterface $plugin

Плагин для загрузки.

Возвращает

$this

clear() public

clear(): $this

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

Возвращает

$this

count() public

count(): int

Реализация Countable.

Получить количество плагинов в коллекции.

Возвращает

int

create() public

create(string $name, array $config = []): Cake\Core\PluginInterface

Создать экземпляр плагина из имени/имени класса и конфигурации.

Параметры

string $name

Имя плагина или имя класса

array $config optional

Параметры конфигурации для плагина.

Возвращает

Cake\Core\PluginInterface

Вызывает исключение

Cake\Core\Exception\MissingPluginException
Когда экземпляр плагина не может быть создан.

current() public

current(): Cake\Core\PluginInterface

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

Возвращает

Cake\Core\PluginInterface

findPath() public

findPath(string $name): string

Найти путь к плагину, просматривая данные конфигурации.

Будет использовать ключ plugins Configure и возвращаться к перечислению App::path('plugins')

Этот метод не является частью официального публичного API, поскольку плагины без класса плагина постепенно выводятся из эксплуатации.

Параметры

string $name

Имя плагина для поиска пути. Вернет '' когда плагин не может быть найден.

Возвращает

string

Вызывает исключение

Cake\Core\Exception\MissingPluginException
когда путь к плагину не может быть определен.

get() public

get(string $name): Cake\Core\PluginInterface

Получить плагин по имени.

Если плагин еще не загружен, он будет автоматически загружен при первом обращении, и плагины, загруженные таким образом, могут пропустить некоторые методы хуков.

Параметры

string $name

Плагин для получения.

Возвращает

Cake\Core\PluginInterface

Вызывает исключение

Cake\Core\Exception\MissingPluginException
когда запрашиваются неизвестные плагины.

has() public

has(string $name): bool

Проверить, существует ли плагин с указанным именем в коллекции.

Параметры

string $name

Плагин с указанным именем.

Возвращает

bool

key() public

key(): string

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

Возвращает

string

loadConfig() protected

loadConfig(): void

Загрузить информацию о пути, хранящуюся в vendor/cakephp-plugins.php

Этот файл создается пакетом cakephp/plugin-installer и используется для поиска плагинов в файловой системе, поскольку приложения могут использовать extra.plugin-paths в своем файле composer.json для перемещения плагина за пределы vendor/

Возвращает

void

next() public

next(): void

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

Возвращает

void

remove() public

remove(string $name): $this

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

Параметры

string $name

Плагин с указанным именем.

Возвращает

$this

rewind() public

rewind(): void

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

Возвращает

void

valid() public

valid(): bool

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

Возвращает

bool

with() public

with(string $hook): GeneratorCake\Core\PluginInterface[]

Отфильтровать плагины до тех, у которых включен указанный хук.

Параметры

string $hook

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

Возвращает

GeneratorCake\Core\PluginInterface[]

Вызывает исключение

InvalidArgumentException
при недопустимых хуках

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

$loopDepth protected

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

Тип

int

$names protected

Названия плагинов

Тип

string[]

$plugins protected

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

Тип

Cake\Core\PluginInterface[]

$positions 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/4.2/class-Cake.Core.PluginCollection.html

Spec-Zone.ru

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