Yii2:行为作为数组(不工作)或作为attachBehavior(工作)

时间:2015-11-10 07:48:05

标签: yii2 behavior attachedbehaviors

我有这样的课程我在功能 actionCreate

中得到了对象
use app\components\ModelHelperBehavior;

class UserController extends Controller{

   public function actionCreate(){

            $model = new User();
            $model->attachBehavior(HelperBehavior::className());
            var_dump($model->getBehaviors());
        }
    }
}

但是如果我使用这个代码 - 我得到null

use app\components\ModelHelperBehavior;

class UserController extends Controller{

    public function behaviors(){
        return [
            HelperBehavior::className(),
            ],
        ];
    }
   public function actionCreate(){

            $model = new User();
            var_dump($model->getBehaviors());
        }
    }
}

我的问题是:如何使用数组在第二个代码示例中将行为附加到UserInfo?

P.S。我的行为代码是:

class HelperBehavior extends Behavior{

    public function getGigit() {
          return 111;
    }
}

1 个答案:

答案 0 :(得分:1)

你应该添加:

<bean class="SomeAspectClass"
    factory-method="aspectOf">
</bean>

public function behaviors() { return [ HelperBehavior::className(), ]; } 类,而不是控制器。