[ 'class' => OrderBehavior::className(), ], 'coupon' => [ 'class' => CouponBehavior::className(), ], 'pintuan' => [ 'class' => PintuanBehavior::className(), ], 'bargain' => [ 'class' => BargainBehavior::className(), ], 'lottery' => [ 'class' => LotteryBehavior::className(), ], 'step' => [ 'class' => StepBehavior::className(), ], ]; } public function init() { \Yii::$app->response->on(Response::EVENT_BEFORE_SEND, [$this, 'beforeSend']); } /** * @param \yii\base\Event $event */ public function beforeSend($event) { /* @var $response \yii\web\response */ $response = $event->sender; /* @var $data \app\hejiang\ValidationErrorResponse */ $data = &$response->data; if ($data instanceof ValidationErrorResponse) { $response->format = Response::FORMAT_JSON; $data = $data->raw; } } }