Класс 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 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 - Имя объекта(ов) с использованием CamelCase для отключения (строка или массив)
enable()source public
enable( string|array $name , boolean $prioritize true )
Включает обратные вызовы для объекта или массива объектов
Параметры
- строка|массив
$name - Имя объекта(ов) с использованием CamelCase для включения (строка или массив)
- логическое значение
$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() - Массив конфигурационных параметров для создаваемого объекта.
Возвращает
объектсозданный объект
loaded()source public
loaded( string $name null )
Возвращает список загруженных объектов или статус загрузки заданного объекта
Параметры
- строка
$nameнеобязательно null Необязательно. Имя объекта, для которого нужно проверить статус. Если опущено, возвращает массив текущих загруженных объектов
Возвращает
mixedЕсли $name указан, возвращает логическое состояние соответствующего объекта. В противном случае возвращает массив всех загруженных объектов.
normalizeObjectArray()source public static
normalizeObjectArray( array $objects )
Нормализует массив объектов, создаёт массив, который упрощает ленивую загрузку
Параметры
- массив
$objects - Массив дочерних объектов для нормализации.
Возвращает
массивМассив нормализованных объектов.
prioritize()source public
prioritize( )
Приоритетизирует список включённых объектов
Возвращает
массивУпорядоченный по приоритету список объектов
set()source public
set( string $name null , Object $object null )
Добавляет или перезаписывает экземпляр объекта в коллекцию
Параметры
- строка
$nameнеобязательно null - Имя объекта
-
Object$objectнеобязательно null - Объект для использования
Возвращает
массивЗагруженные объекты
setPriority()source public
setPriority( string|array $name , integer|null $priority null )
Устанавливает приоритет для объекта или массива объектов
Параметры
- строка|массив
$name Имя объекта в формате CamelCase (строка или массив). Если строка, то используется второй параметр $priority. В противном случае это ассоциативный массив с именами объектов в качестве ключей и значениями в качестве приоритетов.
- целое число|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.
Параметры
- строка|
CakeEvent$callback Метод для вызова на всех объектах. Предполагается, что все объекты реализуют вызываемый метод. Если предоставлен экземпляр CakeEvent, тогда имя события будет обработано для получения имени обратного вызова. Это делается путем получения последнего слова после точки в имени события (например, событие
Model.afterSaveвызовет обратный вызовafterSave).- массив
$paramsнеобязательно array() - Массив параметров для вызываемого обратного метода.
- массив
$optionsнеобязательно array() - Массив опций.
Возвращает
смешанноеЛибо последнее результат, либо все результаты, если включена сборка результатов.
Выбрасывает
CakeExceptionесли modParams используется с индексом, который не существует.
unload()source public
unload( string $name )
Имя объекта для удаления из коллекции
Параметры
- строка
$name - Имя объекта для удаления.
Подробное описание свойств
$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.8/class-ObjectCollection.html