Yii Behaviors
При наследовании (extends) дочерний класс получает открытые и защищенные методы родителя. Это здорово, но есть несколько недостатков. Родительский класс разрастается, некоторым детям совершенно не нужны методы и свойства родителя.
Поведения позволяют избавится от этих недостатков и добавлять к различным классам новые методы.
Пример
model
public function behaviors() { return array( 'AutoTimestampBehavior' => array( 'class' => 'zii.behaviors.CTimestampBehavior', 'createAttribute' => null, 'updateAttribute' => 'date_updated', 'setUpdateOnCreate' => true, ), ); }