Класс CakePlugin
CakePlugin отвечает за загрузку и выгрузку плагинов. Он также может получать пути к плагинам и загружать файлы их инициализации и маршрутизации.
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Ссылка: http://book.cakephp.org/2.0/ru/plugins.html
Расположено в Cake/Core/CakePlugin.php
Подробное описание методов
_includeFilesource protected static
_includeFile( string $file , boolean $ignoreMissing false )
Включить файл, игнорируя ошибку включения, если файл отсутствует
Параметры
- строка
$file - Файл для включения
- логическое значение
$ignoreMissingнеобязательно false - Игнорировать ошибку включения для отсутствующих файлов
Возвращает
mixedсмешанный тип
bootstrapsource public static
bootstrap( string $plugin )
Загружает файлы инициализации плагина или вызывает настройку инициализации в конфигурации
Параметры
- строка
$plugin - имя плагина
Возвращает
mixedсмешанный тип
См. также
CakePlugin::load() для примеров конфигурации инициализацииloadsource public static
load( string|array $plugin , array $config array() )
Загружает плагин и необязательно загружает файлы инициализации, маршрутизации или загружает функцию инициализации
Примеры:
CakePlugin::load('DebugKit')
Загрузит плагин DebugKit и не загрузит файлы инициализации и маршрутизации
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))
загрузит файлы инициализации для обоих плагинов
CakePlugin::load(array( 'DebugKit' => array('routes' => true), 'ApiGenerator' ), array('bootstrap' => true))
Загрузит только инициализацию для ApiGenerator и только маршрутизацию для DebugKit. Используя опцию path, вы можете указать абсолютный путь к плагину. Убедитесь, что путь заканчивается слешем, иначе плагин не будет правильно найден.
Параметры
- строка или массив
$plugin - имя плагина для загрузки в формате CamelCase или массив плагинов для загрузки
- массив
$configнеобязательно массив() - опции конфигурации для плагина
Исключения
MissingPluginExceptionесли папка для загружаемого плагина не найдена
loadAllsource public static
loadAll( array $options array() )
Загрузит все плагины, расположенные в папках плагинов, настроенных в системе. Если передан массив опций, он будет использоваться в качестве общих значений по умолчанию для всех загружаемых плагинов. Возможна установка специфичных значений по умолчанию для каждого плагина в массиве опций. Примеры:
CakePlugin::loadAll(array( array('bootstrap' => true), 'DebugKit' => array('routes' => true, 'bootstrap' => false), ))
Приведенный выше пример загрузит файлы инициализации для всех плагинов, но для плагина DebugKit загрузит только файл маршрутизации и не будет искать файл инициализации. Если вы загружаете множество плагинов, которые несовместимы с файлами маршрутизации/инициализации, вместо детализации каждого плагина можно использовать опцию ignoreMissing:
CakePlugin::loadAll(array( 'ignoreMissing' => true, 'bootstrap' => true, 'routes' => true, ));
Опция ignoreMissing вызовет дополнительные проверки file_exists(), но она проще в использовании.
Параметры
- массив
$optionsнеобязательно массив() - Список опций. См. CakePlugin::load() для допустимых опций.
loadedsource public static
loaded( string $plugin null )
Возвращает true, если плагин $plugin уже загружен. Если $plugin равен null, возвращает список всех загруженных плагинов.
Параметры
- строка
$pluginнеобязательно null - Имя плагина для проверки.
Возвращает
mixedboolean true, если $plugin уже загружен. Если $plugin равен null, возвращает список загруженных плагинов
pathsource public static
path( string $plugin )
Возвращает файловый путь к плагину.
Параметры
- строка
$plugin - имя плагина в формате CamelCase
Возвращает
stringпуть к папке плагина
Исключения
MissingPluginExceptionесли папка плагина не найдена или плагин не загружен
routessource public static
routes( string $plugin null )
Загружает файл маршрутизации для плагина или всех плагинов, настроенных на загрузку своих файлов маршрутизации.
Параметры
- строка
$pluginнеобязательно null - имя плагина, если null, обрабатываются все плагины, которые загружают файлы маршрутизации
Возвращает
booleanbool
unloadsource public static
unload( string $plugin null )
Удаляет загруженный плагин или все плагины, если первый параметр null.
Параметры
- строка
$pluginнеобязательно null - имя плагина для удаления
Краткое описание свойств
© 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/2.7/class-CakePlugin.html