Класс ObjectCollection
Работает с коллекциями объектов. Ведёт реестры этих объектов, загружает и создаёт новые объекты, а также запускает обратные вызовы. Каждый подкласс должен реализовать собственную функциональность load().
Все основные подклассы ObjectCollection по соглашению загруженные объекты хранятся в $this->_loaded. Активные объекты хранятся в $this->_enabled. Кроме того, все они поддерживают опцию enabled, которая контролирует состояние включения/выключения объекта при загрузке.
Прямые подклассы
Пакет: Cake\Utility
С версии: CakePHP(tm) v 2.0
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT Лицензия
Расположение: Cake/Utility/ObjectCollection.php
Резюме свойств
-
$_enabledprotectedСписок активных объектовarray -
$_loadedprotectedХэш загруженных объектов, индексированных по имениarray -
$defaultPrioritypublicПриоритет объекта по умолчанию. Не нулевое целое число.integer
Резюме методов
- __get() publicПредоставляет публичный доступ для чтения к загруженным объектам
- __isset() publicПредоставляет доступ isset к _loaded
- attached() publicПолучает список присоединённых объектов или статус прикрепления заданного объекта
- disable() public
Отключает обратные вызовы для объекта или массива объектов. Публичные методы объекта по-прежнему доступны для вызова.
- enable() publicВключает обратные вызовы для объекта или массива объектов
- enabled() publicПолучает список активных объектов или текущий статус отдельного объекта
- Загружает новый объект в коллекцию. Может выбросить различные исключения
- loaded() publicПолучает список загруженных объектов или статус загрузки заданного объекта
-
Нормализует массив объектов, создаёт массив, который облегчает ленивую загрузку
- prioritize() publicУстанавливает приоритет списка активных объектов
- set() publicДобавляет или перезаписывает созданный объект в коллекцию
- setPriority() publicУстанавливает приоритет для объекта или массива объектов
- trigger() public
Вызывает метод обратного вызова для каждого объекта в коллекции. Используется для вызова методов объектов в коллекции. Методы будут вызываться в порядке их прикрепления.
- unload() publicИмя объекта для удаления из коллекции
Подробное описание методов
__get()source public
__get( string $name )
Предоставляет публичный доступ для чтения к загруженным объектам
Параметры
- строка
$name - Имя свойства для чтения
Возвращаемое значение
смешанное__isset()source public
__isset( string $name )
Предоставляет доступ isset к _loaded
Параметры
- строка
$name - Имя проверяемого объекта.
Возвращаемое значение
булевоattached()source public
attached( string $name null )
Получает список присоединённых объектов или статус прикрепления заданного объекта
Устарело
3.0.0 Будет удалено в 3.0. Используйте вместо этого loaded.Параметры
- строка
$nameнеобязательно null Необязательно. Имя объекта, для которого нужно проверить статус. Если опущено, возвращает массив текущих присоединённых объектов
Возвращаемое значение
смешанноеЕсли $name указан, возвращает булевое значение статуса соответствующего объекта. В противном случае возвращает массив всех присоединённых объектов.
disable()source public
disable( string|array $name )
Отключает обратные вызовы для объекта или массива объектов. Публичные методы объекта по-прежнему доступны для вызова.
Параметры
- строка|массив
$name - Имя объекта(ов) с большой буквы (строка или массив) для отключения
enable()source public
enable( string|array $name , boolean $prioritize true )
Включает обратные вызовы для объекта или массива объектов
Параметры
- строка|массив
$name - Имя объекта(ов) с большой буквы (строка или массив) для включения
- булево
$prioritizeнеобязательно true - Установить приоритет списка активных объектов после включения объекта(ов)
enabled()source public
enabled( string $name null )
Получает список активных объектов или текущий статус отдельного объекта
Параметры
- строка
$nameнеобязательно null Необязательно. Имя объекта, для которого нужно проверить статус. Если опущено, возвращает массив текущих активных объектов
Возвращаемое значение
смешанноеЕсли $name указан, возвращает булевое значение статуса соответствующего объекта. В противном случае возвращает массив всех активных объектов.
load()source abstract public
load( string $name , array $options array() )
Загружает новый объект в коллекцию. Может выбросить различные исключения
Реализации этого класса поддерживают флаг $options['enabled'], который включает/отключает загруженный объект.
Параметры
- строка
$name - Имя загружаемого объекта.
- массив
$optionsнеобязательно array() - Массив параметров конфигурации для конструирования объекта.
Возвращаемое значение
CakeObjectсозданный объект
loaded()source public
loaded( string $name null )
Получает список загруженных объектов или статус загрузки заданного объекта
Параметры
- строка
$nameнеобязательно null Необязательно. Имя объекта, для которого нужно проверить статус. Если опущено, возвращает массив текущих загруженных объектов
Возвращаемое значение
смешанноеЕсли $name указан, возвращает булевое значение статуса соответствующего объекта. В противном случае возвращает массив всех загруженных объектов.
normalizeObjectArray()source public static
normalizeObjectArray( array $objects )
Нормализует массив объектов, создаёт массив, который облегчает ленивую загрузку
Параметры
- массив
$objects - Массив дочерних объектов для нормализации.
Возвращаемое значение
массивМассив нормализованных объектов.
prioritize()source public
prioritize( )
Приоритетизация списка включенных объектов
Возвращает
arrayСписок объектов с приоритетами
set()source public
set( string $name null , CakeObject $object null )
Добавляет или перезаписывает экземпляр объекта в коллекцию
Параметры
- string
$nameнеобязательно null - Имя объекта
-
CakeObject$objectнеобязательно null - Объект для использования
Возвращает
arrayЗагруженные объекты
setPriority()source public
setPriority( string|array $name , integer|null $priority null )
Установка приоритета для объекта или массива объектов
Параметры
- string|array
$name Имя объекта в формате CamelCase (строка или массив) Если строка, используется второй параметр $priority. В противном случае это ассоциативный массив, где ключи — имена объектов, а значения — устанавливаемые приоритеты.
- integer|null
$priorityнеобязательно null - Целочисленный приоритет или null для значения по умолчанию
trigger()source 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() - Массив параметров для вызываемого обратного метода.
- array
$optionsнеобязательно array() - Массив опций.
Возвращает
mixedЛибо последнее возвращенное значение, либо все значения, если collectReturn включен.
Исключения
CakeExceptionпри использовании modParams с индексом, который не существует.
unload()source public
unload( string $name )
Имя объекта для удаления из коллекции
Параметры
- string
$name - Имя объекта для удаления.
Подробности свойств
$defaultPrioritysource
public integer
Приоритет объекта по умолчанию. Целое число, отличное от нуля.
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.
https://api.cakephp.org/2.9/class-ObjectCollection.html