Класс ObjectCollection
Работает с коллекциями объектов. Ведет реестры этих объектов, загружает и создает новые объекты, а также вызывает обратные вызовы. Каждый подкласс должен реализовать собственную функциональность load().
Все основные подклассы ObjectCollection по умолчанию загруженные объекты хранятся в $this->_loaded. Включенные объекты хранятся в $this->_enabled. Кроме того, все они поддерживают опцию enabled, которая управляет состоянием включения/выключения объекта при загрузке.
Прямые подклассы
Пакет: Cake\Utility
С момента: CakePHP(tm) v 2.0
Авторские права: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
Лицензия: MIT License
Расположение: 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 - Имя свойства для чтения
Возвращает
mixed__isset()source public
__isset( string $name )
Обеспечивает доступ isset к _loaded
Параметры
- строка
$name - Имя объекта, который проверяется.
Возвращает
booleanattached()source public
attached( string $name null )
Получает список присоединенных объектов или наличие заданного объекта
Устаревший
3.0.0 Будет удален в версии 3.0. Используйте вместо этого loaded.Параметры
- строка
$nameнеобязательно null Необязательно. Имя объекта, состояние которого нужно проверить. Если опущено, возвращает массив текущих присоединенных объектов
Возвращает
mixedЕсли $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 Необязательно. Имя объекта, состояние которого нужно проверить. Если опущено, возвращает массив текущих включенных объектов
Возвращает
mixedЕсли $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 Необязательно. Имя объекта, состояние которого нужно проверить. Если опущено, возвращает массив текущих загруженных объектов
Возвращает
mixedЕсли $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–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-ObjectCollection.html