Класс CakePlugin
Класс CakePlugin отвечает за загрузку и выгрузку плагинов.
Он также может получать пути к плагинам и загружать их файлы bootstrap и маршрутов.
Ссылка: https://book.cakephp.org/2.0/ru/plugins.html
Авторские права: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Core/CakePlugin.php
Краткое описание свойств
- Содержит список всех загруженных плагинов и их конфигурацию
array
Краткое описание методов
- Включает файл, игнорируя ошибку включения, если файл отсутствует
- Загружает файлы инициализации для плагина или вызывает установку инициализации в конфигурации
- Загружает плагин и при необходимости загружает файлы инициализации, маршрутизации или выполняет функцию инициализации
- Загрузит все плагины, расположенные в папках, настроенных для плагинов
-
Возвращает true, если плагин $plugin уже загружен. Если плагин равен null, вернет список всех загруженных плагинов.
- Возвращает файловый путь к плагину
- Загружает файл маршрутов для плагина или всех плагинов, настроенных для загрузки соответствующего файла маршрутов
- Удаляет загруженный плагин или все плагины, если первый параметр равен null
Подробное описание методов
_includeFile()source protected static
_includeFile( string $file , boolean $ignoreMissing false )
Включает файл, игнорируя ошибку включения, если файл отсутствует
Параметры
- string
$file - Файл для включения
- boolean
$ignoreMissingопционально false - Игнорировать ошибку включения при отсутствии файла
Возвращает
mixedbootstrap()source public static
bootstrap( string $plugin )
Загружает файлы инициализации для плагина или вызывает установку инициализации в конфигурации
Параметры
- string
$plugin - название плагина
Возвращает
mixedСм. также
CakePlugin::load() для примеров конфигурации bootstrapload()source public static
load( string|array $plugin , array $config array() )
Загружает плагин и при необходимости загружает файлы инициализации, маршрутизации или выполняет функцию инициализации
Примеры:
CakePlugin::load('DebugKit');
Загрузит плагин DebugKit и не загрузит файлы bootstrap и маршрутизации.
CakePlugin::load('DebugKit', array('bootstrap' => true, 'routes' => true));
Загрузит файлы bootstrap.php и routes.php.
CakePlugin::load('DebugKit', array('bootstrap' => false, 'routes' => true));
Загрузит файл routes.php, но не bootstrap.php.
CakePlugin::load('DebugKit', array('bootstrap' => array('config1', 'config2')));
Загрузит файлы config1.php и config2.php.
CakePlugin::load('DebugKit', array('bootstrap' => 'aCallableMethod'));
Выполнит функцию aCallableMethod для ее инициализации.
Функции инициализации bootstrap могут быть выражены как PHP-обработчик, включая замыкания. Обработчики получат два параметра (имя плагина, конфигурация плагина).
Также возможно загрузить несколько плагинов одновременно. Примеры:
CakePlugin::load(array('DebugKit', 'ApiGenerator'));
Загрузит плагины DebugKit и ApiGenerator.
CakePlugin::load(array('DebugKit', 'ApiGenerator'), array('bootstrap' => true));
Загрузит файл bootstrap для обоих плагинов.
CakePlugin::load(array(
'DebugKit' => array('routes' => true),
'ApiGenerator'
),
array('bootstrap' => true)
); Загрузит только bootstrap для ApiGenerator и только маршруты для DebugKit. Используя опцию path, вы можете указать абсолютный путь к плагину. Убедитесь, что путь оканчивается на слэш, иначе ваш плагин не будет найден должным образом.
Параметры
- string|array
$plugin - имя загружаемого плагина в формате CamelCase или массив загружаемых плагинов
- array
$configопционально array() - параметры конфигурации плагина
Исключения
MissingPluginExceptionесли папка для загружаемого плагина не найдена
loadAll()source public static
loadAll( array $options array() )
Загрузит все плагины, расположенные в папках, настроенных для плагинов
Если передан массив параметров, он будет использоваться в качестве общего значения по умолчанию для всех загружаемых плагинов. Можно установить определенные значения по умолчанию для каждого плагина в массиве параметров. Примеры:
CakePlugin::loadAll(array(
array('bootstrap' => true),
'DebugKit' => array('routes' => true, 'bootstrap' => false),
)); В приведенном выше примере будет загружен файл bootstrap для всех плагинов, но для DebugKit будет загружен только файл маршрутов и не будет ищется скрипт bootstrap. Если вы загружаете много плагинов, которые несовместимы с файлами маршрутов/bootstrap, вместо того, чтобы описывать каждый плагин, вы можете использовать опцию ignoreMissing:
CakePlugin::loadAll(array(
'ignoreMissing' => true,
'bootstrap' => true,
'routes' => true,
)); Опция ignoreMissing выполнит дополнительные вызовы file_exists(), но она проще в использовании.
Параметры
- array
$optionsопционально array() - Список опций. См. CakePlugin::load() для допустимых опций.
loaded()source public static
loaded( string $plugin null )
Возвращает true, если плагин $plugin уже загружен. Если плагин равен null, вернет список всех загруженных плагинов.
Параметры
- string
$pluginопционально null - Имя плагина для проверки.
Возвращает
mixedboolean true, если $plugin уже загружен. Если $plugin равен null, возвращает список загруженных плагинов
path()source public static
path( string $plugin )
Возвращает файловый путь к плагину
Параметры
- string
$plugin - имя плагина в формате CamelCase
Возвращает
stringпуть к папке плагина
Исключения
MissingPluginExceptionесли папка плагина не найдена или плагин не загружен
routes()source public static
routes( string $plugin null )
Загружает файл маршрутов для плагина или всех плагинов, настроенных для загрузки соответствующего файла маршрутов
Параметры
- string
$pluginопционально null имя плагина, если null, то будет обработано все плагины, у которых включена загрузка файлов маршрутов
Возвращает
booleanunload()source public static
unload( string $plugin null )
Удаляет загруженный плагин или все плагины, если первый параметр равен null
Параметры
- string
$pluginопционально null - имя плагина для удаления
Подробное описание свойств
$_pluginssource
protected static array
Содержит список всех загруженных плагинов и их конфигурацию
array()
© 2005–2017 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/2.10/class-CakePlugin.html