Класс Plugin
Класс Plugin используется для загрузки и поиска плагинов.
Он также может получать пути к плагинам и загружать файлы bootstrap и маршрутизации.
Ссылка: https://book.cakephp.org/3.0/ru/plugins.html
Расположение: Core/Plugin.php
Краткое описание свойств
- Экземпляр загрузчика классов
- Хранит список всех загруженных плагинов и их конфигурацию
Краткое описание методов
- Включение файла, игнорируя ошибки включения, если файл отсутствует
- Загружает файлы инициализации для плагина или вызывает настройку инициализации в конфигурации
- Возвращает путь к файловой системе для папки плагина, содержащей папки с классами.
- Возвращает путь к файловой системе для папки плагина, содержащей файлы конфигурации.
- Получить общую коллекцию плагинов.
- Проверить, загружен ли плагин.
-
Загружает плагин и, по желанию, загружает файлы инициализации, маршрутизации или выполняет функцию инициализации.
- Загрузит все плагины, расположенные в папке плагинов по умолчанию.
- Возвращает список загруженных плагинов.
- Возвращает путь к файловой системе для плагина
- Загружает файл маршрутизации для плагина или всех плагинов, настроенных для загрузки соответствующих файлов маршрутизации.
- Удаляет загруженный плагин или все плагины, если первый параметр равен null
Подробное описание методов
_includeFile()source protected static
_includeFile( string $file , boolean $ignoreMissing = false )
Включение файла, игнорируя ошибки включения, если файл отсутствует
Параметры
- строка
$file - Файл для включения
- булево
$ignoreMissingoptional false - Игнорировать ошибку включения при отсутствии файлов
Возвращает
смешанныйbootstrap()source public static deprecated
bootstrap( string $name )
Загружает файлы инициализации для плагина или вызывает настройку инициализации в конфигурации
Устарело
3.7.0 Этот метод будет удалён в версии 4.0.0.Параметры
- строка
$name - имя плагина
Возвращает
смешанныйСм. также
\Cake\Core\Plugin::load() для примеров конфигурации инициализацииclassPath()source public static
classPath( string $name )
Возвращает путь к файловой системе для папки плагина, содержащей папки с классами.
Параметры
- строка
$name - имя плагина в формате CamelCase.
Возвращает
строкаПуть к папке плагина, содержащей папки с классами.
Исключения
Cake\Core\Exception\MissingPluginExceptionЕсли плагин не загружен.
configPath()source public static
configPath( string $name )
Возвращает путь к файловой системе для папки плагина, содержащей файлы конфигурации.
Параметры
- строка
$name - имя плагина в формате CamelCase.
Возвращает
строкаПуть к папке плагина, содержащей файлы конфигурации.
Исключения
Cake\Core\Exception\MissingPluginExceptionЕсли плагин не загружен.
getCollection()source public static
getCollection( )
Получить общую коллекцию плагинов.
В общем случае этот метод не следует использовать во время выполнения приложения, так как плагины должны быть установлены во время запуска приложения.
Возвращает
Cake\Core\PluginCollectionisLoaded()source public static
isLoaded( string $plugin )
Проверить, загружен ли плагин.
Параметры
- строка
$plugin - Имя плагина для проверки.
Возвращает
булевоС версии
3.7.0load()source public static deprecated
load( string|array $plugin , array $config = [] )
Загружает плагин и, по желанию, загружает файлы инициализации, маршрутизации или выполняет функцию инициализации.
Плагины нужно загружать только если вы хотите, чтобы файлы инициализации/маршрутизации/команды командной строки были доступны. Если ваш плагин не предоставляет ни одной из этих функций, загружать его не нужно.
Этот метод не настраивает автозагрузчики. Это нужно сделать отдельно, либо через Composer, либо в своём коде во время конфигурации/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 и только файл маршрутизации для DebugKit
Опции конфигурации
-
bootstrap- массив - Загружать или нет файл $plugin/config/bootstrap.php. -
routes- булево - Загружать или нет файл $plugin/config/routes.php. -
ignoreMissing- булево - Установить в true, чтобы игнорировать отсутствующие файлы bootstrap/routes. -
path- строка - Путь к плагину. Если пусто, будет использован стандартный путь к плагинам (App.pluginPaths). -
classBase- Путь относительноpath, который содержит папки с файлами классов. По умолчанию "src". -
autoload- булево - Зарегистрировать ли автозагрузчик. По умолчанию false. Фреймворк предполагает, что вы настраиваете автозагрузчики с помощью Composer. Однако, если ваша структура приложения состоит из плагинов, это может быть полезной опцией.
Устарело
3.7.0 Этот метод будет удалён в версии 4.0.0. Используйте Application::addPlugin() вместо него.Параметры
- строка|массив
$plugin - имя плагина для загрузки в формате CamelCase или массив плагинов
- массив
$configoptional [] - опции конфигурации для плагина
Исключения
Cake\Core\Exception\MissingPluginExceptionесли папка для загрузки плагина не найдена
loadAll()source public static deprecated
loadAll( array $options = [] )
Загрузит все плагины, расположенные в папке по умолчанию для плагинов.
Если передать массив опций, он будет использоваться как общий набор значений по умолчанию для всех загружаемых плагинов. Можно задать специфические значения по умолчанию для каждого плагина в массиве опций. Примеры:
Plugin::loadAll([
['bootstrap' => true],
'DebugKit' => ['routes' => true],
]); В приведенном выше примере будет загружен файл bootstrap для всех плагинов, но для DebugKit будет загружен только файл маршрутов, и не будет выполняться поиск скрипта bootstrap.
Если плагин уже загружен, он не будет перезагружен методом loadAll().
Deprecated
3.7.0 Этот метод будет удален в версии 4.0.0.Параметры
- array
$optionsoptional [] - Опции.
Возбуждает
Cake\Core\Exception\MissingPluginExceptionloaded()source public static
loaded( string|null $plugin = null )
Возвращает список загруженных плагинов.
Если указано имя плагина, возвращаемое значение будет булевым значением, указывающим, загружен ли данный плагин. Это использование устарело. Вместо этого следует использовать Plugin::isLoaded($name).
Параметры
- string|null
$pluginoptional null - Имя плагина.
Возвращает
boolean|arrayБулевое значение true, если $plugin уже загружен. Если $plugin равен null, возвращает список загруженных плагинов.
path()source public static
path( string $name )
Возвращает путь к файловой системе для плагина.
Параметры
- string
$name - имя плагина в формате CamelCase
Возвращает
stringпуть к папке плагина
Возбуждает
Cake\Core\Exception\MissingPluginExceptionесли папка плагина не найдена или плагин не загружен
routes()source public static deprecated
routes( string|null $name = null )
Загружает файл маршрутов для плагина или всех плагинов, настроенных для загрузки их собственных файлов маршрутов.
Если вам нужен более точный контроль над тем, как загружаются маршруты для плагинов, вы можете использовать Cake\Routing\RouteBuilder::loadPlugin()
Deprecated
3.6.5 Этот метод больше не нужен при использовании приложений, основанных на HttpApplicationInterface. Этот метод будет удален в версии 4.0.0
Параметры
- string|null
$nameoptional null имя плагина, если null, будет обрабатывать все плагины, включившие загрузку файлов маршрутов.
Возвращает
booleanunload()source public static deprecated
unload( string|null $plugin = null )
Забывает загруженный плагин или все плагины, если первый параметр равен null
Deprecated
3.7.0 Этот метод будет удален в версии 4.0.0. Используйте PluginCollection::remove() или clear() вместо этого.Параметры
- string|null
$pluginoptional null - имя плагина, который нужно забыть
Подробное описание свойств
$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.8/class-Cake.Core.Plugin.html