Класс 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 - Игнорировать ошибку включения для отсутствующих файлов
Возвращаемое значение
mixedbootstrap()source public static
bootstrap( string $plugin )
Загружает файлы инициализации для плагина или вызывает установку инициализации в конфигурации
Параметры
- строка
$plugin - имя плагина
Возвращаемое значение
mixedСм. также
\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, либо в вашем коде во время конфигурации в 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\MissingPluginExceptionloaded()source public static
loaded( string|null $plugin null )
Возвращает true, если плагин $plugin уже загружен. Если плагин равен null, возвращает список всех загруженных плагинов.
Параметры
- string|null
$pluginoptional 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
$pluginoptional null Имя плагина, если null, будет обрабатываться все плагины, имеющие включенную загрузку файлов маршрутов.
Возвращает
booleanunload()source public static
unload( string|null $plugin null )
Удаляет загруженный плагин или все плагины, если первый параметр равен null.
Параметры
- string|null
$pluginoptional null - Имя плагина для удаления.
Подробное описание свойств
$_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