Spec-Zone.ru › CakePHP 4.4

Класс PluginCollection

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

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

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

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

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

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

  • $loopDepth protected
    int

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

  • $names protected
    array<string>

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

  • $plugins protected
    arrayCake\Core\PluginInterface>

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

  • $positions protected
    array<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(arrayCake\Core\PluginInterface> $plugins = [])

Конструктор

Параметры

arrayCake\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<string, mixed> $config = []): Cake\Core\PluginInterface

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

Параметры

string $name

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

array<string, mixed> $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

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

Тип

array<string>

$plugins protected

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

Тип

arrayCake\Core\PluginInterface>

$positions protected

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

Тип

array<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.4/class-Cake.Core.PluginCollection.html

Spec-Zone.ru

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