Spec-Zone.ru › CakePHP 3.5

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

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

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 и не загрузит файлы bootstrap и маршрутизации. Тем не менее, плагин будет включён в стандартные маршруты фреймворка и его инструменты командной строки (если они есть) будут доступны.

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 и только routes для DebugKit

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

  • bootstrap - массив - Нужно ли загружать файл $plugin/config/bootstrap.php.
  • routes - булево значение - Нужно ли загружать файл $plugin/config/routes.php.
  • ignoreMissing - булево значение - Устанавливается в true, чтобы игнорировать отсутствующие файлы 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 будет загружен только файл routes и не будет поиска файла bootstrap.

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

Параметры

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

Исключения

Cake\Core\Exception\MissingPluginException

loaded()source public static

loaded( string|null $plugin null )

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

Параметры

string|null $plugin optional 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 optional null

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

Возвращает

boolean

unload()source public static

unload( string|null $plugin null )

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

Параметры

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

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

$_loadersource

protected static Cake\Core\ClassLoader

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

$_pluginssource

protected static array

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

[]

© 2005–2018 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.5/class-Cake.Core.Plugin.html

Spec-Zone.ru

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