В новой версии LS 2.0 появится функционал поведений (behaviors), который очень поход на подобный в Yii.
Суть сводится к тому, что теперь определенному типу объектов (пользователи, топики, блоги и т.п.) или конкретному объекту можно назначить через поведения определенный новый функционал.
Добавить новое поведение в объект достаточно просто, можно у объекта определить свойство
$aBehaviors
. Например:
protected $aBehaviors=array(
'category'=>'ModuleCategory_BehaviorCategory',
'property'=>array(
'class'=>'ModuleProperty_BehaviorPropertyEntity',
'target_type'=>'article'
)
);
В этом примере добавляются два поведения — категории и дополнительные поля. В качестве ключа используется название поведение (далее по этому ключу можно обращаться к поведению), а в качестве значения идут параметры. Параметры идут произвольным массивом имя/значение,
'class'
— это служебный параметр, означающий класс поведения. Если у повеления нет параметром, то его можно записать в короткой форме (смотри
'category'
). Альтернативным (скорее дополнительным) способом добавления поведения является прямой вызов метода
AttachBehavior
, например:
$oTopic->AttachBehavior('property','ModuleProperty_BehaviorPropertyEntity');
// далее можно убрать поведение
$oTopic->DetachBehavior('property');
Читать дальше →