Класс ComponentCollection
Коллекция компонентов используется в качестве реестра загруженных компонентов и обрабатывает загрузку и создание объектов класса компонента.
- ObjectCollection
-
ComponentCollection реализует CakeEventListener
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Controller/ComponentCollection.php
Подробное описание методов
getControllerисходный код public
getController( )
Получить контроллер, связанный с коллекцией.
Возвращает
ControllerЭкземпляр контроллера
implementedEventsисходный код public
implementedEvents( )
Возвращает реализованные события, которые будут перенаправлены в функцию триггера для их отдельной отправки каждому компоненту.
Возвращает
arrayМассив
Реализация
CakeEventListener::implementedEvents() initисходный код public
init( Controller $Controller )
Инициализирует все компоненты для контроллера. Прикрепляет ссылку на каждый компонент к контроллеру.
Параметры
-
Controller$Controller - Контроллер, для которого необходимо инициализировать компоненты.
loadисходный код public
load( string $component , array $settings array() )
Загружает/создает компонент. Вернёт экземпляр из реестра, если он уже существует. Можно использовать $settings['enabled'] = false для отключения обратных вызовов компонента при его загрузке. Обратные вызовы по умолчанию включены. Отключенные методы компонента работают нормально, только обратные вызовы отключены.
Вы можете использовать псевдоним для своего компонента, присвоив ему значение существующего компонента, задав ключ 'className', например:
public $components = array( 'Email' => array( 'className' => 'AliasedEmail' ); );
Все вызовы к компоненту Email будут использовать AliasedEmail вместо него.
Параметры
- строка
$component - Имя компонента для загрузки
- массив
$settingsнеобязательно массив() - Настройки компонента.
Возвращает
ComponentОбъект компонента, либо существующий загруженный компонент, либо новый.
Выбрасывает
MissingComponentExceptionв случае, если компонент не найден
setControllerисходный код public
setController( Controller $Controller )
Установить контроллер, связанный с коллекцией.
Параметры
-
Controller$Controller - Контроллер для установки
Наследованные методы из ObjectCollection
__getисходный код public
__get( string $name )
Предоставление публичного чтения загруженных объектов.
Параметры
- строка
$name - Имя свойства для чтения
Возвращает
mixedсмешанный тип
__issetисходный код public
__isset( string $name )
Предоставление доступа isset к _loaded
Параметры
- строка
$name - Имя проверяемого объекта.
Возвращает
booleanбулево значение
attachedисходный код public
attached( string $name null )
Получает список присоединённых объектов или, если указанный объект присоединён.
Устарело
3.0.0 Будет удалено в 3.0. Используйте вместо этого loaded.Параметры
- строка
$nameнеобязательно null - Необязательно. Имя объекта, состояние которого нужно проверить. Если опущено, возвращает массив текущих присоединённых объектов.
Возвращает
mixedЕсли $name указан, возвращает булевое значение статуса соответствующего объекта. В противном случае возвращает массив всех присоединённых объектов.
disableисходный код public
disable( string|array $name )
Отключает обратные вызовы для объекта или массива объектов. Публичные методы объекта по-прежнему могут вызываться как обычно.
Параметры
- строка|массив
$name - Имя объектов (с использованием CamelCase) для отключения (строка или массив)
enableисходный код public
enable( string|array $name , boolean $prioritize true )
Включает обратные вызовы для объекта или массива объектов.
Параметры
- строка|массив
$name - Имя объекта(ов) для включения (строка или массив)
- булево значение
$prioritizeнеобязательно true - Указывает на приоритет списка enabled после включения объекта(ов)
enabledисходный код public
enabled( string $name null )
Получает список текущих включённых объектов или текущее состояние одного объекта.
Параметры
- строка
$nameнеобязательно null - Необязательно. Имя объекта, состояние которого нужно проверить. Если опущено, возвращает массив текущих включённых объектов.
Возвращает
mixedЕсли $name указан, возвращает булевое значение статуса соответствующего объекта. В противном случае возвращает массив всех включённых объектов.
loadedисходный код public
loaded( string $name null )
Получает список загруженных объектов или, если указанный объект загружен.
Параметры
- строка
$nameнеобязательно null - Необязательно. Имя объекта, состояние которого нужно проверить. Если опущено, возвращает массив текущих загруженных объектов.
Возвращает
mixedЕсли $name указан, возвращает булевое значение статуса соответствующего объекта. В противном случае возвращает массив всех загруженных объектов.
normalizeObjectArrayисходный код public static
normalizeObjectArray( array $objects )
Нормализует массив объектов, создаёт массив, который упрощает ленивую загрузку.
Параметры
- массив
$objects - Массив дочерних объектов для нормализации.
Возвращает
arrayМассив нормализованных объектов.
prioritizeисходный код public
prioritize( )
Приоритетизация списка включенных объектов.
Возвращает
arrayСписок объектов с приоритетом.
setисходный код public
set( string $name null , Object $object null )
Добавляет или перезаписывает экземпляр объекта в коллекцию.
Параметры
- строка
$nameнеобязательно null - Имя объекта.
-
Object$objectнеобязательно null - Объект для использования.
Возвращает
arrayЗагруженные объекты
setPrioritysource public
setPriority( string|array $name , integer|null $priority null )
Установить приоритет для объекта или массива объектов
Параметры
- string|array
$name - Имя объекта(ов) в формате CamelCase (строка или массив). Если строка, то используется второй параметр $priority. В противном случае должен быть ассоциативный массив, где ключи — имена объектов, а значения — устанавливаемые приоритеты.
- integer|null
$priorityнеобязательно null - Целое число для установки приоритета или null для значения по умолчанию
triggersource public
trigger( string|CakeEvent $callback , array $params array() , array $options array() )
Вызвать метод обратного вызова для каждого объекта в коллекции. Используется для вызова методов объектов в коллекции. Методы будут вызваны в порядке их добавления.
Параметры
-
breakOnУстановите значение(я), на котором должна остановиться передача вызова обратного вызова. Может быть скалярным значением или массивом значений, на которых следует прервать вызов. По умолчаниюfalse. -
breakУстановите в значение true для включения возможности прерывания. Если вызов прерывается, возвращаемое значение последнего метода будет возвращено. При использовании в сочетании сcollectReturnбудут возвращены собранные результаты. По умолчаниюfalse. -
collectReturnУстановите в true для сбора возвращаемых значений каждого объекта в массив. Этот массив значений возврата будет возвращен из вызова trigger(). По умолчаниюfalse. -
modParamsПозволяет каждому объекту изменять параметры для следующего объекта. Установка modParams в целое число позволит вам изменить параметр с этим индексом. Любое ненулевое значение изменит параметр с указанным индексом. По умолчанию false.
Параметры
- string|
CakeEvent$callback - Метод для вызова для всех объектов. Предполагается, что все объекты реализуют вызываемый метод. Если передан экземпляр CakeEvent, тогда имя события будет обработано для получения имени обратного вызова. Это делается путем получения последнего слова после точки в имени события (например, событие
Model.afterSaveвызовет обратный вызовafterSave). - array
$paramsнеобязательно массив() - Массив параметров для вызываемого обратного вызова.
- array
$optionsнеобязательно массив() - Массив опций.
Возвращает
mixedЛибо последнее возвращаемое значение, либо все значения, если включен collectReturn.
Выбрасывает
CakeExceptionпри использовании modParams с индексом, который не существует.
unloadsource public
unload( string $name )
Имя объекта, который нужно удалить из коллекции
Параметры
- string
$name - Имя удаляемого объекта.
Краткое описание свойств
Свойства, унаследованные от ObjectCollection
$defaultPrioritysource
public целое число
Приоритет объекта по умолчанию. Целое число, отличное от нуля.
10
© 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-ComponentCollection.html