Spec-Zone.ru › CakePHP 3.6

Класс 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
    Загружает файлы инициализации для плагина или вызывает настройку инициализации в конфигурации
  • classPath() public static
    Возвращает путь к папке плагина, содержащей папки классов.
  • configPath() public static
    Возвращает путь к папке плагина, содержащей конфигурационные файлы.
  • load() public static

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

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

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

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

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

_includeFile()source protected static

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

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

Параметры

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

Возвращает

mixed

bootstrap()source public static

bootstrap( string $name )

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

Параметры

string $name
имя плагина

Возвращает

mixed

См.

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

classPath()source public static

classPath( string $name )

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

Параметры

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

Возвращает

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

Исключения

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

configPath()source public static

configPath( string $name )

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

Параметры

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

Возвращает

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

Исключения

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

load()source public static

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

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

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

Этот метод не настраивает автозагрузчики. Это необходимо сделать отдельно, либо через Composer, либо в коде в файле config/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 и только файл routes для DebugKit

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

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

Параметры

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

Исключения

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

loadAll()source public static

loadAll( array $options = [] )

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

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

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

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

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

Параметры

массив $options optional []
Параметры.

Исключения

Cake\Core\Exception\MissingPluginException

loaded()source public static

loaded( string|null $plugin = null )

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

Параметры

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

Возвращает

boolean|массив

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


path()source public static

path( string $name )

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

Параметры

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

Возвращает

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

Исключения

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

routes()source public static deprecated

routes( string|null $name = null )

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

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

Устарело

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


Параметры

строка|null $name необязательно 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 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.6/class-Cake.Core.Plugin.html

Spec-Zone.ru

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