Класс Plugin
Класс Plugin используется для загрузки и поиска плагинов.
Он также может извлекать пути к плагинам и загружать их файлы bootstrap и маршрутов.
Ссылка: https://book.cakephp.org/3.0/ru/plugins.html
Расположение: Core/Plugin.php
Краткое описание свойств
- Экземпляр загрузчика классов
- Хранит список всех загруженных плагинов и их конфигурацию
array
Краткое описание методов
- Включение файла, игнорируя ошибку включения, если файл отсутствует
- Загрузка файла конфигурации пути к плагину.
- Загружает файлы инициализации для плагина или вызывает настройку инициализации в конфигурации
- Возвращает файловый путь к папке плагина, содержащей папки с классами.
- Возвращает файловый путь к папке плагина, содержащей файлы конфигурации.
-
Загружает плагин и, по желанию, загружает файлы инициализации, маршрутизации или выполняет функцию инициализации.
- Загрузит все плагины, расположенные в папке плагинов по умолчанию.
-
Возвращает true, если плагин $plugin уже загружен. Если плагин равен null, вернёт список всех загруженных плагинов.
- Возвращает файловый путь к плагину
- Загружает файл маршрутов для плагина или всех плагинов, настроенных на загрузку их соответствующих файлов маршрутов.
- Удаляет загруженный плагин или все из них, если первый параметр null
Подробное описание методов
_includeFile()source protected static
_includeFile( string $file , boolean $ignoreMissing false )
Включить файл, игнорируя ошибку включения, если файл отсутствует
Параметры
- строка
$file - Файл для включения
- логическое значение
$ignoreMissingнеобязательно false - Игнорировать ошибку включения для отсутствующих файлов
Возвращает
смешанный тип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\MissingPluginExceptionloaded()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, будет работать со всеми плагинами, включившими загрузку файлов маршрутов.
Возвращает
booleanunload()source public static
unload( string|null $plugin null )
Удаляет загруженный плагин или все плагины, если первый параметр равен null
Параметры
- string|null
$pluginнеобязательно null - Имя плагина, который нужно удалить
Подробное описание свойств
$_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