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