{{tag>yii frameworks}}


====== Yii Behaviors ======

При наследовании (extends) дочерний класс получает открытые и защищенные методы родителя. Это здорово, но есть несколько недостатков. Родительский класс разрастается, некоторым детям совершенно не нужны методы и свойства родителя.

Поведения позволяют избавится от этих недостатков и добавлять к различным классам новые методы.

===== Пример =====

model
<code php>
public function behaviors() {  
    return array(  
        'AutoTimestampBehavior' => array(  
            'class' => 'zii.behaviors.CTimestampBehavior',  
            'createAttribute' => null,  
            'updateAttribute' => 'date_updated',  
            'setUpdateOnCreate' => true,  
        ),  
    );  
}  
</code>

  * [[https://github.com/yiisoft/yii/blob/master/framework/zii/behaviors/CTimestampBehavior.php|CTimestampBehavior]]
===== Ссылки =====


  * [[http://monoray.ru/86-yii/70-behaviors-v-yii|Хорошие поведения - Behaviors в Yii]]
  * [[http://www.yiiframework.ru/forum/viewtopic.php?f=9&t=7129|Простенький tree behavior для ActiveRecord]]
  * [[http://yiiframework.ru/forum/viewtopic.php?f=9&t=4005|Расширение ActiveRecord работа с деревом (Adjacency Lists)]]
  * [[https://github.com/intel352/adjacency-list-behavior|adjacency-list-behavior]]
  * [[http://yiiframework.ru/forum/viewtopic.php?f=9&t=804&sid=81bd8f3ff55c4b0a79c3fc440b1c3e6a|Nested Sets + CTreeView, CDropdownList, CListBox]]
  * [[http://www.yiiframework.com/extension/nestedsetbehavior/|nestedsetbehavior]]
