Класс Plugin
Класс Plugin используется для загрузки и поиска плагинов.
Он также может извлекать пути к плагинам и загружать их файлы bootstrap и маршрутов.
Ссылка: http://book.cakephp.org/3.0/ru/plugins.html
Расположение Core/Plugin.php
Подробное описание методов
_includeFileисходный код защищённый статический
_includeFile( string $file , boolean $ignoreMissing false )
Включает файл, игнорируя ошибку включения, если файл отсутствует.
Параметры
- строка
$file - Файл для включения
- логическое значение
$ignoreMissingнеобязательно false - Игнорировать ошибку включения при отсутствии файла
Возвращает
mixedсмешанный тип
_loadConfigисходный код защищённый статический
_loadConfig( )
Загружает конфигурационный файл пути к плагину.
bootstrapисходный код публичный статический
bootstrap( string $plugin )
Загружает файлы инициализации плагина или вызывает функцию инициализации в конфигурации.
Параметры
- строка
$plugin - Имя плагина
Возвращает
mixedсмешанный тип
См. также
Plugin::load() для примеров конфигурации bootstrapclassPathисходный код публичный статический
classPath( string $plugin )
Возвращает файловый путь к папке плагина, содержащей папки с классами.
Параметры
- строка
$plugin - Имя плагина в формате CamelCase.
Возвращает
stringПуть к папке плагина, содержащей папки с классами.
Выбрасывает
Cake\Core\Exception\MissingPluginExceptionЕсли плагин не загружен.
configPathисходный код публичный статический
configPath( string $plugin )
Возвращает файловый путь к папке плагина, содержащей конфигурационные файлы.
Параметры
- строка
$plugin - Имя плагина в формате CamelCase.
Возвращает
stringПуть к папке плагина, содержащей конфигурационные файлы.
Выбрасывает
Cake\Core\Exception\MissingPluginExceptionЕсли плагин не загружен.
loadисходный код публичный статический
load( string|array $plugin , array $config [] )
Загружает плагин и, необязательно, загружает файлы bootstrap, маршрутизации или выполняет функцию инициализации.
Плагины нужно загружать только если вы хотите использовать файлы bootstrap/маршрутизации/команды CLI. Если ваш плагин не экспонирует ни одну из этих функций, вам не нужно их загружать.
Этот метод не настраивает никакие автозагрузчики. Это должно быть сделано отдельно, либо через Composer, либо в своём коде во время конфигурации в файле config/bootstrap.php.
Примеры:
Plugin::load('DebugKit')
Загрузит плагин DebugKit и не загрузит файлы bootstrap и маршрутизации. Однако, плагин будет частью стандартных маршрутов фреймворка, и его инструменты 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- логическое значение - Установить в true, чтобы игнорировать отсутствующие файлы bootstrap/маршрутизации. -
path- строка - Путь к плагину. Если пусто, используется стандартный путь к плагинам (App.pluginPaths). -
classBase- Путь относительноpath, который содержит папки с файлами классов. По умолчанию "src". -
autoload- логическое значение - Зарегистрировать автозагрузчик. По умолчанию false. Фреймворк предполагает, что вы настраиваете автозагрузчики с помощью Composer. Однако, если ваша структура приложения состоит из плагинов, этот параметр может быть полезен.
Параметры
- строка|массив
$plugin - Имя плагина для загрузки в формате CamelCase или массив плагинов для загрузки
- массив
$configнеобязательно [] - параметры конфигурации для плагина
Выбрасывает
Cake\Core\Exception\MissingPluginExceptionесли папка с плагином не найдена
loadAllисходный код публичный статический
loadAll( array $options [] )
Загружает все плагины, расположенные в папке плагинов по умолчанию.
Если передан массив опций, он будет использован как общий параметр для всех загружаемых плагинов. Можно установить специфические параметры для каждого плагина в массиве опций. Примеры:
Plugin::loadAll([
['bootstrap' => true],
'DebugKit' => ['routes' => true],
]);
Приведённый пример загрузит файл bootstrap для всех плагинов, но для DebugKit будет загружен только файл routes и не будет искаться файл bootstrap.
Если плагин уже загружен, он не будет перезагружен методом loadAll().
Параметры
- массив
$optionsнеобязательно [] - Параметры.
loadedисходный код публичный статический
loaded( string $plugin null )
Возвращает true, если плагин $plugin уже загружен. Если plugin равен null, вернёт список всех загруженных плагинов.
Параметры
- строка
$pluginнеобязательно null - Имя плагина.
Возвращает
boolean|arrayБулевое значение true, если $plugin уже загружен. Если $plugin равен null, возвращает список загруженных плагинов
pathисходный код публичный статический
path( string $plugin )
Возвращает файловый путь к папке плагина.
Параметры
- строка
$plugin - Имя плагина в формате CamelCase
Возвращает
stringПуть к папке плагина
Выбрасывает
Cake\Core\Exception\MissingPluginExceptionЕсли папка плагина не найдена или плагин не загружен
routesисходный код публичный статический
routes( string $plugin null )
Загружает файл маршрутизации плагина или всех плагинов, настроенных на загрузку своих файлов маршрутизации.
Параметры
- строка
$pluginнеобязательно null - Имя плагина, если null, то обрабатываются все плагины, у которых включена загрузка файлов маршрутизации
Возвращает
booleanbool
unloadисходный код публичный статический
unload( string $plugin null )
Удаляет загруженный плагин или все плагины, если первый параметр равен null.
Параметры
- строка
$pluginнеобязательно null - Имя плагина для удаления
Сводка свойств
© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.Core.Plugin.html