Yii2:行为的模型规则继承

Yii2:行为的模型规则继承,yii2,yii2-model,Yii2,Yii2 Model,我不知道是否还有其他方法可以做到这一点: UserModel.php public function behaviors() { //I use array_merge() because UserModel extends from another custom model. return array_merge( parent::behaviors(), [

我不知道是否还有其他方法可以做到这一点:

UserModel.php

public function behaviors()
    {
        //I use array_merge() because UserModel extends from another custom model.
        return 
            array_merge(
                parent::behaviors(),
                [
                    MyBehavior::className(),
                ]
            );
    }

public function rules()
    {
        return 
            array_merge(
                MyBehavior::theRules(),
                [
                    list of UserModel rules... 
                ]
            );
use yii\helpers\ArrayHelper;

public function behaviors()
    {
        //I use array_merge() because UserModel extends from another custom model.
        return ArrayHelper::merge(
                parent::behaviors(),
                [
                    MyBehavior::className(),
                ]
            );
    }

public function rules()
    {
        return 
                [
                    list of UserModel rules... 
                ]
            ;
}
MyBehavior.php

class MyBehavior extends Behavior
{

public static function theRules()
    {
    return [
            [['attr'],'file']
];
    }
  ....
}
 use \yii\validators\Validator;
 public function attach($owner){
        parent::attach($owner);

        $owner->validators[] = Validator::createValidator('file', $this->owner, '_anexo' 
            ,['skipOnEmpty' => true, 'extensions' => 'png, jpg, jpeg', 'maxFiles' => 5, 'maxSize'=>2000000]
        );
    }
我的问题是:有没有其他方法可以将规则从MyBehavior继承到UserModel,而不用在UserModel::rules()上静态调用MyBehavior::theRules()

public function behaviors()
    {
        //I use array_merge() because UserModel extends from another custom model.
        return 
            array_merge(
                parent::behaviors(),
                [
                    MyBehavior::className(),
                ]
            );
    }

public function rules()
    {
        return 
            array_merge(
                MyBehavior::theRules(),
                [
                    list of UserModel rules... 
                ]
            );
use yii\helpers\ArrayHelper;

public function behaviors()
    {
        //I use array_merge() because UserModel extends from another custom model.
        return ArrayHelper::merge(
                parent::behaviors(),
                [
                    MyBehavior::className(),
                ]
            );
    }

public function rules()
    {
        return 
                [
                    list of UserModel rules... 
                ]
            ;
}
摘自:

MyBehavior.php

class MyBehavior extends Behavior
{

public static function theRules()
    {
    return [
            [['attr'],'file']
];
    }
  ....
}
 use \yii\validators\Validator;
 public function attach($owner){
        parent::attach($owner);

        $owner->validators[] = Validator::createValidator('file', $this->owner, '_anexo' 
            ,['skipOnEmpty' => true, 'extensions' => 'png, jpg, jpeg', 'maxFiles' => 5, 'maxSize'=>2000000]
        );
    }

您看过关于在中附加和使用行为的文档吗?是@igor,谢谢!