Spec-Zone.ru › CakePHP 3.2

Класс Plugin

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

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

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

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

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

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

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

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

  • loadAll() public static
    Загрузит все плагины, расположенные в папке плагинов по умолчанию.
  • loaded() public static

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

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

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

_includeFile()source protected static

_includeFile( string $file , boolean $ignoreMissing false )

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

Параметры

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

Возвращает

смешанный тип

_loadConfig()source protected static

_loadConfig( )

Загружает конфигурационный файл пути к плагину.

bootstrap()source public static

bootstrap( string $plugin )

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

Параметры

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

Возвращает

смешанный тип

См. также

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

classPath()source public static

classPath( string $plugin )

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

Параметры

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

Возвращает

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

Исключения

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

configPath()source public static

configPath( string $plugin )

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

Параметры

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

Возвращает

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

Исключения

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

load()source public static

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

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

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

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

Примеры:

Plugin::load('DebugKit')

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

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])

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

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

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

Параметры конфигурации

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

Параметры

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

Исключения

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

loadAll()source public static

loadAll( array $options [] )

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

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

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

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

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

Параметры

массив $options необязательно []
Опции.

loaded()source public static

loaded( string|null $plugin null )

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

Параметры

строка|null $plugin необязательно null
Имя плагина.

Возвращает

boolean|массив

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


path()source public static

path( string $plugin )

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

Параметры

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

Возвращает

строка
путь к папке плагина

Исключения

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

routes()source public static

routes( string|null $plugin null )

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

Параметры

строка|null $plugin необязательно null

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

Возвращает

boolean

unload()source public static

unload( string|null $plugin null )

Удаляет загруженный плагин или все плагины, если первый параметр равен null

Параметры

строка|null $plugin необязательно null
имя плагина для удаления

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

$_loadersource

protected static Cake\Core\ClassLoader

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

$_pluginssource

protected static массив

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

[]

© 2005–2016 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.
http://api.cakephp.org/3.2/class-Cake.Core.Plugin.html

Spec-Zone.ru

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