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