Home PageКаталог Изменения НовыеКомментарии Пользователи Регистрация
CakePHP: Manual/Developing/Behaviors/CreatingBehaviors ...

Создание пользовательских поведений


Поведения, подключенные к моделям, имеют свои колбэки, вызываемые автоматически. Эти колбэки подобны колбэкам моделей: 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);
}

?>


<< Использование поведений | Отображения >>


 
Комментарии
абсолютно не понятно (
AlexeiBerkov? (2011-02-25 14:35:36)
Добавить комментарий:

Файлы [Скрыть файлы/форму]