yii2 在模型中直接返回结果
正常情况下,返回结果的操作会由控制器执行。
return [
'code' => 0,
'msg' => "短信已发送"
];
对于返回类型为数组的情况,yii2 会自动将其转化为 JSON 字符格式,并修改返回类型为 JSON。
但如果是在模型中就要直接返回呢? 官方文档给出了几组范例,比如说抛出异常,浏览器跳转,发送文件和发送相应。
比较符合需求的,就是最后一项了,提到的 \yii\web\Response::send()
,试了一下这个方法属于实例方法,直接调用是不行的,需要通过实例进行调用。
以下为是实操代码($response
即 为 \yii\web\Response
的实例引用):
$response = \Yii::$app->response;
$response->format = \yii\web\Response::FORMAT_JSON;
$response->data = [
'code' => 0,
'msg' => "短信已发送"
];
$response->send();