Spec-Zone.ru › CakePHP 3.4

Класс 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
    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() для примеров конфигурации инициализации

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

Загрузит только файл инициализации для 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],
 ]);

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

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

Параметры

массив $options необязательно []
Параметры.

Исключения

Cake\Core\Exception\MissingPluginException

loaded()source public static

loaded( string|null $plugin null )

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

Параметры

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

Возвращает

boolean|array

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


path()source public static

path( string $plugin )

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

Параметры

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

Возвращает

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

Исключения

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

routes()source public static

routes( string|null $plugin null )

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

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

Параметры

string|null $plugin необязательно null

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

Возвращает

boolean

unload()source public static

unload( string|null $plugin null )

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

Параметры

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

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

$_loadersource

protected static Cake\Core\ClassLoader

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

$_pluginssource

protected static array

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

[]

© 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.4/class-Cake.Core.Plugin.html

Spec-Zone.ru

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