Класс BehaviorCollection
Класс коллекции поведения модели.
Определяет интерфейс Behavior и содержит общие функциональные возможности взаимодействия с моделью.
- ObjectCollection
-
BehaviorCollection реализует CakeEventListener
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Model/BehaviorCollection.php
Краткое описание свойств
-
$_mappedMethodsprotectedСодержит список всех методов, которые были сопоставлены с регулярными выражениямиarray -
$_methodsprotectedСодержит список всех методов присоединённых поведенийarray -
$modelNamepublicХранит ссылку на присоединённое имяstring
Унаследованные свойства
Краткое описание методов
- attach() publicОбратный совместимый псевдоним для load()
- detach() publicОбратный совместимый псевдоним для unload()
- dispatchMethod() publicОтправляет метод поведения. Вызовет либо обычные методы, либо сопоставленные методы.
- hasMethod() public
Проверяет, реализует ли поведение в этой коллекции предоставленный метод. Также проверит mappedMethods.
- implementedEvents() public
Возвращает реализованные события, которые будут перенаправлены в функцию trigger для отправки их отдельно для каждого поведения.
- init() publicПрисоединяет объект модели и загружает список поведений
- load() public
Загружает поведение в коллекцию. Вы можете использовать
$config['enabled'] = falseдля загрузки поведения с отключенными обратными вызовами. По умолчанию обратные вызовы включены. Отключенные поведения всё ещё могут использоваться как обычные. - methods() public
Получает список методов присоединённых поведений, т.е. все публичные, не связанные с обратными вызовами методы. Это не включает mappedMethods.
- unload() publicОтсоединяет поведение от модели
Подробное описание методов
attach()source public
attach( string $behavior , array $config array() )
Обратный совместимый псевдоним для load()
Устарело
3.0.0 Будет удалено в версии 3.0. Заменено на load().Параметры
- string
$behavior - Имя поведения.
- array
$configнеобязательно array() - Параметры конфигурации.
detach()source public
detach( string $name )
Обратный совместимый псевдоним для unload()
Устарело
3.0.0 Будет удалено в версии 3.0. Используйте unload вместо него.Параметры
- string
$name - Имя поведения
dispatchMethod()source public
dispatchMethod( Model $model , string $method , array $params array() , boolean $strict false )
Отправляет метод поведения. Вызовет либо обычные методы, либо сопоставленные методы.
Если метод не обрабатывается BehaviorCollection, а $strict ложно, то будет возвращено специальное значение array('unhandled') для сигнализации о том, что метод не найден.
Параметры
-
Model$model - Модель, на которой изначально был вызван метод.
- string
$method - Вызванный метод.
- array
$paramsнеобязательно array() - Параметры для вызываемого метода.
- boolean
$strictнеобязательно false - Если методы не найдены, сгенерировать ошибку.
Возвращает
arrayВсе методы для всех присоединённых поведений к этому объекту
hasMethod()source public
hasMethod( string $method , boolean $callback false )
Проверяет, реализует ли поведение в этой коллекции предоставленный метод. Также проверит mappedMethods.
Параметры
- string
$method - Искомый метод.
- boolean
$callbackнеобязательно false - Возвратить обратный вызов для метода.
Возвращает
mixedЕсли $callback ложно, то будет возвращён булевый результат, если истина, то массив с информацией об обратном вызове. Для сопоставленных методов массив будет содержать 3 элемента.
implementedEvents()source public
implementedEvents( )
Возвращает реализованные события, которые будут перенаправлены в функцию trigger для отправки их отдельно для каждого поведения.
Возвращает
arrayРеализация
CakeEventListener::implementedEvents() init()source public
init( string $modelName , array $behaviors array() )
Присоединяет объект модели и загружает список поведений
Параметры
- string
$modelName - Имя модели.
- array
$behaviorsнеобязательно array() - Список поведений.
load()source public
load( string $behavior , array $config array() )
Загружает поведение в коллекцию. Вы можете использовать $config['enabled'] = false для загрузки поведения с отключенными обратными вызовами. По умолчанию обратные вызовы включены. Отключенные поведения всё ещё могут использоваться как обычные.
Вы можете использовать псевдоним своего поведения, как существующего поведения, установив ключ 'className', например:
public $actsAs = array(
'Tree' => array(
'className' => 'AliasedTree'
);
); Все вызовы для поведения Tree будут использовать AliasedTree вместо него.
Параметры
- string
$behavior - Имя поведения в формате CamelCase
- array
$configнеобязательно array() - Параметры конфигурации поведения
Возвращает
booleanУспех - true, неудача - false
Исключение
MissingBehaviorExceptionесли поведение не найдено.
methods()source public
methods( )
Получает список методов присоединённых поведений, т.е. все публичные, не связанные с обратными вызовами методы. Это не включает mappedMethods.
Возвращает
arrayВсе публичные методы для всех присоединённых к этой коллекции поведений
unload()source public
unload( string $name )
Отсоединяет поведение от модели
Параметры
- string
$name - Имя поведения в формате CamelCase
Переопределяет
ObjectCollection::unload() Методы, унаследованные от ObjectCollection
__get()source public
__get( string $name )
Предоставляет публичный доступ для чтения к загруженным объектам
Параметры
- string
$name - Имя свойства для чтения
Возвращает
mixed__isset()source public
__isset( string $name )
Предоставляет доступ isset к _loaded
Параметры
- string
$name - Имя проверяемого объекта.
Возвращает
booleanattached()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 указан, возвращает булево значение статуса соответствующего объекта. В противном случае возвращает массив всех включенных объектов.
loaded()source public
loaded( string $name null )
Получает список загруженных объектов или статус загрузки заданного объекта.
Параметры
- строка
$nameнеобязательно null Необязательно. Имя объекта, для которого нужно проверить статус. Если опущен, возвращает массив текущих загруженных объектов.
Возвращает
смешанный типЕсли $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 Имя объекта(ов) (с заглавными буквами в каждом слове) для включения (строка или массив). Если строка, используется второй параметр $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() - Массив опций.
Возвращает
смешанный типЛибо последнее возвращаемое значение, либо все результаты, если collectReturn включен.
Исключения
CakeExceptionпри использовании modParams с индексом, который не существует.
Подробное описание свойств
$_mappedMethodssource
protected массив
Хранит список всех методов, которые были сопоставлены с регулярными выражениями.
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.8/class-BehaviorCollection.html