Прикрепить поведение к [[yii\base\Component|компоненту]] можно статически (statically) или динамически (dynamically).
На практике, чаще используется статическое привязывание.
Для того чтобы прикрепить поведение статически, необходимо переопределить метод
[[yii\base\Component::behaviors()|behaviors()]] класса компонента. Например,
```php
namespaceapp\models;
useyii\db\ActiveRecord;
useapp\components\MyBehavior;
classUserextendsActiveRecord
{
publicfunctionbehaviors()
{
return[
// анонимное поведение, прикрепленное по имени класса
MyBehavior::className(),
// именованное поведение, прикрепленное по имени класса
'myBehavior2'=>MyBehavior::className(),
// анонимное поведение, сконфигурированное с использованием массива
[
'class'=>MyBehavior::className(),
'prop1'=>'value1',
'prop2'=>'value2',
],
// именованное поведение, сконфигурированное с использованием массива
'myBehavior4'=>[
'class'=>MyBehavior::className(),
'prop1'=>'value1',
'prop2'=>'value2',
]
];
}
}
```
Метод [[yii\base\Component::behaviors()|behaviors()]] должен возвращать список
[конфигураций](concept-configurations.md) поведений. Конфигурация поведения представляет собой имя класса поведения,
либо массив его настроек.
Вы можете связать имя с поведением, указав его в качестве ключа элемента массива, соответствующего конфигурации
поведения. В таком случае, поведение называется *именованным поведением (named behavior)*. В примере выше, два именованных поведения: `myBehavior2` и `myBehavior4`. Если с поведением не связано имя, такое поведение называется
*анонимным поведением (anonymous behavior)*.
Для того, чтобы прикрепить поведение динамически, необходимо вызвать метод [[yii\base\Component::attachBehavior()]]