Spec-Zone.ru › CakePHP 2.7

Класс CakePlugin

CakePlugin отвечает за загрузку и выгрузку плагинов. Он также может получать пути к плагинам и загружать файлы их инициализации и маршрутизации.

Пакет: Cake\Core
Авторские права: 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
Имя плагина для проверки.

Возвращает

mixed
boolean true, если $plugin уже загружен. Если $plugin равен null, возвращает список загруженных плагинов

pathsource public static

path( string $plugin )

Возвращает файловый путь к плагину.

Параметры

строка $plugin
имя плагина в формате CamelCase

Возвращает

string
путь к папке плагина

Исключения

MissingPluginException
если папка плагина не найдена или плагин не загружен

routessource public static

routes( string $plugin null )

Загружает файл маршрутизации для плагина или всех плагинов, настроенных на загрузку своих файлов маршрутизации.

Параметры

строка $plugin необязательно null
имя плагина, если null, обрабатываются все плагины, которые загружают файлы маршрутизации

Возвращает

boolean
bool

unloadsource public static

unload( string $plugin null )

Удаляет загруженный плагин или все плагины, если первый параметр null.

Параметры

строка $plugin необязательно null
имя плагина для удаления

Краткое описание свойств

$_pluginssource

protected static массив

Список всех загруженных плагинов и их конфигурации

array()

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API