Spec-Zone.ru › CakePHP 3.8

Класс Plugin

Класс Plugin используется для загрузки и поиска плагинов.

Он также может получать пути к плагинам и загружать файлы bootstrap и маршрутизации.

Пространство имён: Cake\Core
Ссылка: https://book.cakephp.org/3.0/ru/plugins.html
Расположение: Core/Plugin.php

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

  • $_loader protected static
    Cake\Core\ClassLoader
    Экземпляр загрузчика классов
  • $plugins protected static
    Cake\Core\PluginCollection|null
    Хранит список всех загруженных плагинов и их конфигурацию

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

  • _includeFile() protected static
    Включение файла, игнорируя ошибки включения, если файл отсутствует
  • bootstrap() public static deprecated
    Загружает файлы инициализации для плагина или вызывает настройку инициализации в конфигурации
  • classPath() public static
    Возвращает путь к файловой системе для папки плагина, содержащей папки с классами.
  • configPath() public static
    Возвращает путь к файловой системе для папки плагина, содержащей файлы конфигурации.
  • getCollection() public static
    Получить общую коллекцию плагинов.
  • isLoaded() public static
    Проверить, загружен ли плагин.
  • load() public static deprecated

    Загружает плагин и, по желанию, загружает файлы инициализации, маршрутизации или выполняет функцию инициализации.

  • loadAll() public static deprecated
    Загрузит все плагины, расположенные в папке плагинов по умолчанию.
  • loaded() public static
    Возвращает список загруженных плагинов.
  • path() public static
    Возвращает путь к файловой системе для плагина
  • routes() public static deprecated
    Загружает файл маршрутизации для плагина или всех плагинов, настроенных для загрузки соответствующих файлов маршрутизации.
  • unload() public static deprecated
    Удаляет загруженный плагин или все плагины, если первый параметр равен null

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

_includeFile()source protected static

_includeFile( string $file , boolean $ignoreMissing = false )

Включение файла, игнорируя ошибки включения, если файл отсутствует

Параметры

строка $file
Файл для включения
булево $ignoreMissing optional false
Игнорировать ошибку включения при отсутствии файлов

Возвращает

смешанный

bootstrap()source public static deprecated

bootstrap( string $name )

Загружает файлы инициализации для плагина или вызывает настройку инициализации в конфигурации

Устарело

3.7.0 Этот метод будет удалён в версии 4.0.0.

Параметры

строка $name
имя плагина

Возвращает

смешанный

См. также

\Cake\Core\Plugin::load() для примеров конфигурации инициализации

classPath()source public static

classPath( string $name )

Возвращает путь к файловой системе для папки плагина, содержащей папки с классами.

Параметры

строка $name
имя плагина в формате CamelCase.

Возвращает

строка
Путь к папке плагина, содержащей папки с классами.

Исключения

Cake\Core\Exception\MissingPluginException
Если плагин не загружен.

configPath()source public static

configPath( string $name )

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

Параметры

строка $name
имя плагина в формате CamelCase.

Возвращает

строка
Путь к папке плагина, содержащей файлы конфигурации.

Исключения

Cake\Core\Exception\MissingPluginException
Если плагин не загружен.

getCollection()source public static

getCollection( )

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

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

Возвращает

Cake\Core\PluginCollection

isLoaded()source public static

isLoaded( string $plugin )

Проверить, загружен ли плагин.

Параметры

строка $plugin
Имя плагина для проверки.

Возвращает

булево

С версии

3.7.0

load()source public static deprecated

load( string|array $plugin , array $config = [] )

Загружает плагин и, по желанию, загружает файлы инициализации, маршрутизации или выполняет функцию инициализации.

Плагины нужно загружать только если вы хотите, чтобы файлы инициализации/маршрутизации/команды командной строки были доступны. Если ваш плагин не предоставляет ни одной из этих функций, загружать его не нужно.

Этот метод не настраивает автозагрузчики. Это нужно сделать отдельно, либо через Composer, либо в своём коде во время конфигурации/bootstrap.php.

Примеры:

Plugin::load('DebugKit')

Загрузит плагин DebugKit и не загрузит файлы инициализации или маршрутизации. Однако, плагин будет частью стандартных маршрутов фреймворка и его инструменты командной строки (если есть) будут доступны.

Plugin::load('DebugKit', ['bootstrap' => true, 'routes' => true])

Загрузит файлы bootstrap.php и routes.php.

Plugin::load('DebugKit', ['bootstrap' => false, 'routes' => true])

Загрузит файл routes.php, но не bootstrap.php

Plugin::load('FOC/Authenticate')

Загрузит плагин из plugins/FOC/Authenticate.

Также возможно загрузить несколько плагинов одновременно. Примеры:

Plugin::load(['DebugKit', 'ApiGenerator'])

Загрузит плагины DebugKit и ApiGenerator.

Plugin::load(['DebugKit', 'ApiGenerator'], ['bootstrap' => true])

Загрузит файл bootstrap для обоих плагинов

Plugin::load([
    'DebugKit' => ['routes' => true],
    'ApiGenerator'
    ],
    ['bootstrap' => true])

Загрузит только файл bootstrap для ApiGenerator и только файл маршрутизации для DebugKit

Опции конфигурации

  • bootstrap - массив - Загружать или нет файл $plugin/config/bootstrap.php.
  • routes - булево - Загружать или нет файл $plugin/config/routes.php.
  • ignoreMissing - булево - Установить в true, чтобы игнорировать отсутствующие файлы bootstrap/routes.
  • path - строка - Путь к плагину. Если пусто, будет использован стандартный путь к плагинам (App.pluginPaths).
  • classBase - Путь относительно path, который содержит папки с файлами классов. По умолчанию "src".
  • autoload - булево - Зарегистрировать ли автозагрузчик. По умолчанию false. Фреймворк предполагает, что вы настраиваете автозагрузчики с помощью Composer. Однако, если ваша структура приложения состоит из плагинов, это может быть полезной опцией.

Устарело

3.7.0 Этот метод будет удалён в версии 4.0.0. Используйте Application::addPlugin() вместо него.

Параметры

строка|массив $plugin
имя плагина для загрузки в формате CamelCase или массив плагинов
массив $config optional []
опции конфигурации для плагина

Исключения

Cake\Core\Exception\MissingPluginException
если папка для загрузки плагина не найдена

loadAll()source public static deprecated

loadAll( array $options = [] )

Загрузит все плагины, расположенные в папке по умолчанию для плагинов.

Если передать массив опций, он будет использоваться как общий набор значений по умолчанию для всех загружаемых плагинов. Можно задать специфические значения по умолчанию для каждого плагина в массиве опций. Примеры:

Plugin::loadAll([
     ['bootstrap' => true],
     'DebugKit' => ['routes' => true],
 ]);

В приведенном выше примере будет загружен файл bootstrap для всех плагинов, но для DebugKit будет загружен только файл маршрутов, и не будет выполняться поиск скрипта bootstrap.

Если плагин уже загружен, он не будет перезагружен методом loadAll().

Deprecated

3.7.0 Этот метод будет удален в версии 4.0.0.

Параметры

array $options optional []
Опции.

Возбуждает

Cake\Core\Exception\MissingPluginException

loaded()source public static

loaded( string|null $plugin = null )

Возвращает список загруженных плагинов.

Если указано имя плагина, возвращаемое значение будет булевым значением, указывающим, загружен ли данный плагин. Это использование устарело. Вместо этого следует использовать Plugin::isLoaded($name).

Параметры

string|null $plugin optional null
Имя плагина.

Возвращает

boolean|array

Булевое значение true, если $plugin уже загружен. Если $plugin равен null, возвращает список загруженных плагинов.


path()source public static

path( string $name )

Возвращает путь к файловой системе для плагина.

Параметры

string $name
имя плагина в формате CamelCase

Возвращает

string
путь к папке плагина

Возбуждает

Cake\Core\Exception\MissingPluginException
если папка плагина не найдена или плагин не загружен

routes()source public static deprecated

routes( string|null $name = null )

Загружает файл маршрутов для плагина или всех плагинов, настроенных для загрузки их собственных файлов маршрутов.

Если вам нужен более точный контроль над тем, как загружаются маршруты для плагинов, вы можете использовать Cake\Routing\RouteBuilder::loadPlugin()

Deprecated

3.6.5 Этот метод больше не нужен при использовании приложений, основанных на HttpApplicationInterface. Этот метод будет удален в версии 4.0.0


Параметры

string|null $name optional null

имя плагина, если null, будет обрабатывать все плагины, включившие загрузку файлов маршрутов.

Возвращает

boolean

unload()source public static deprecated

unload( string|null $plugin = null )

Забывает загруженный плагин или все плагины, если первый параметр равен null

Deprecated

3.7.0 Этот метод будет удален в версии 4.0.0. Используйте PluginCollection::remove() или clear() вместо этого.

Параметры

string|null $plugin optional null
имя плагина, который нужно забыть

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

$_loadersource

protected static Cake\Core\ClassLoader

Экземпляр загрузчика классов

$pluginssource

protected static Cake\Core\PluginCollection|null

Содержит список всех загруженных плагинов и их конфигурацию

© 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.Plugin.html

Spec-Zone.ru

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