Spec-Zone.ru › CakePHP 3.3

Класс Плагин

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

Он также может извлекать пути к плагинам и загружать их файлы 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
Игнорировать ошибку включения для отсутствующих файлов

Возвращаемое значение

mixed

_loadConfig()source protected static

_loadConfig( )

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

bootstrap()source public static

bootstrap( string $plugin )

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

Параметры

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

Возвращаемое значение

mixed

См. также

\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, либо в вашем коде во время config/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])

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

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

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

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

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

Параметры

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

Исключения

Cake\Core\Exception\MissingPluginException
Если папка плагина не найдена

loadAll()source public static

loadAll( array $options [] )

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

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

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

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

Если плагин уже загружен, 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–2017 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.3/class-Cake.Core.Plugin.html

Spec-Zone.ru

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