项目地址:https://github.com/bit128/autumn
core\http\Response封装了来自服务器端的处理结果。
很多场景中,用户请求服务器处理完业务逻辑后,不一定是要返回一个页面。比如来自手机app请求查询一个用户信息,或者来自页面js的异步网络请求等。这种场景下,要求服务器返回基于json或者xml的数据报。
Response提供的方法
方法名称 参数解析 返回类型 功能
setResult(code = 0, result = ”, error = ”) 响应码,结果信息,出错信息 - 设置响应结果
flush() - - 清空响应结果
json(output = false) 是否直接输出 true | false
返回 | 输出json格式结果
xml(output = false) 是否直接输出 true | false
返回 | 输出xml格式结果
Response提供的常量
名称 值 解释
RES_UNKNOW = 0 响应码 - 未知状态
RES_OK = 1 响应码 - 成功
RES_FAIL = 2 响应码 - 失败
响应结果
通过一个例子来理解:
<?php
namespace app\controllers;
use core\Autumn;
use core\http\Response;
/**
* 站点控制器示例
* ======
* @author 洪波
* @version 16.07.06
*/
class UserController extends \core\web\Controller
{
public function actionFind()
{
$data = [
'user_name' => 'hongbo',
'user_age' => 18,
'user_gender' => 1
];
Autumn::app()->response->setResult(Response::RES_OK, $data);
Autumn::app()->response->json(true);
}
}
使用setResult()将$data设置为结果,再通过json()将结果输出到页面。打开浏览器输入:
http://127.0.0.1/user/find
看到结果如下:
如果使用xml()来输出的话,则结果如下: