Поведения, подключенные к моделям, имеют свои колбэки, вызываемые автоматически. Эти колбэки подобны колбэкам моделей: beforeFind, afterFind, beforeSave, afterSave, beforeDelete, afterDelete и onError.
Полезно использовать встроенные поведения, как образец для создания вашего собственного. Найти их можно в cake/libs/models/behaviors/.
Каждый колбэк в качестве первого параметра получает ссылку на модель, из которой он вызывается.
Кроме того, вы можете добавить настройки для поведения. Информация об определении настроек может быть найдена в главе о встроенных поведениях и их настройке.
Пример, который иллюстрирует, как настройки поведения могут быть переданы из модели в поведение:
<?
class Post extends AppModel {
var $name = 'Post'
var $actsAs = array(
'YourBehavior' => array(
'option1_key' =>; 'option1_value'));
}
?>
Начиная с версии 1.2.8004, CakePHP добавляет эти настройки только один раз для модели/алиаса. Для дальнейшего обновления поведения вы должны соблюдать алиасы (или модели).
Дружественная к обновлению, функция setup будет выглядеть подобным образом:
<?
function setup(&$model, $settings) {
if (!isset($this->settings[$model->alias])) {
$this->settings[$model->alias] = array(
// 'option1_key' => 'option1_default_value',
// 'option2_key' => 'option2_default_value',
// 'option3_key' => 'option3_default_value',
);
}
$this->settings[$Model->alias] = array_merge(
$this->settings[$Model->alias], (array)$settings);
}
?>
<< Использование поведений | Отображения >>