Класс Plugin
Класс Plugin используется для загрузки и поиска плагинов.
Он также может извлекать пути к плагинам и загружать их файлы bootstrap и маршрутов.
Ссылка: http://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() для примеров конфигурации bootstrapclassPath()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]) Загрузит только bootstrap для ApiGenerator и только маршруты для DebugKit
Параметры конфигурации
-
bootstrap- массив - Загружать или нет файл $plugin/config/bootstrap.php. -
routes- boolean - Загружать или нет файл $plugin/config/routes.php. -
ignoreMissing- boolean - Установить в true, чтобы игнорировать отсутствующие файлы инициализации/маршрутов. -
path- строка - Путь к плагину. Если пусто, будет использоваться стандартный путь к плагинам (App.pluginPaths). -
classBase- Путь относительноpath, содержащий папки с файлами классов. По умолчанию "src". -
autoload- boolean - Зарегистрировать или нет автозагрузчик. По умолчанию 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необязательно [] - Опции.
loaded()source public static
loaded( string|null $plugin null )
Возвращает true, если плагин $plugin уже загружен. Если плагин равен null, вернёт список всех загруженных плагинов
Параметры
- строка|null
$pluginнеобязательно null - Имя плагина.
Возвращает
boolean|массивБулево значение true, если $plugin уже загружен. Если $plugin равен null, возвращает список загруженных плагинов
path()source public static
path( string $plugin )
Возвращает путь к файловой системе для плагина
Параметры
- строка
$plugin - имя плагина в формате CamelCase
Возвращает
строкапуть к папке плагина
Исключения
Cake\Core\Exception\MissingPluginExceptionесли папка плагина не найдена или плагин не загружен
routes()source public static
routes( string|null $plugin null )
Загружает файл маршрутов для плагина или всех плагинов, настроенных для загрузки соответствующих файлов маршрутов
Параметры
- строка|null
$pluginнеобязательно null имя плагина, если null, выполняется для всех плагинов, разрешивших загрузку файлов маршрутов
Возвращает
booleanunload()source public static
unload( string|null $plugin null )
Удаляет загруженный плагин или все плагины, если первый параметр равен null
Параметры
- строка|null
$pluginнеобязательно null - имя плагина для удаления
Подробное описание свойств
$_pluginssource
protected static массив
Хранит список всех загруженных плагинов и их конфигурацию
[]
© 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.2/class-Cake.Core.Plugin.html