规范代码

返回结果处理

返回结果有,后端向其他服务请求、后台给前端返回结果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# 后台向其他服务请求
$result = curlGet($url);
if ($result) {
$rs = json_decode($result, true);
return $rs;
} else {
return false;
}

# 后台给前端返回
public function returnResult($res)
{
if ($res) {
if ($res['ret'] == 0) {
// 0 返回成功,返回data,携带 msg 默认是"success"
return returnData($res['data']);
}
// 1 返回失败,携带msg
return returnError($res['data']);
}
return returnError('请求其他服务接口失败');
}

# 返回结果封装
function returnError($msg = 'error', $ret = 1, $status = 200, $type = 0)
{
return buildResponse($ret, $msg, $status, $type);
}

function returnData($data, $ret = 0, $msg = 'success', $type = 0)
{
return buildResponse($ret, $msg, 200, $type, $data);
}

function buildResponse($ret = 0, $msg = '', $status = 200, $type, $data = array())
{
$info = array(
'ret' => $ret,
'msg' => $msg
);
if ($data) {
$info['data'] = $data;
}
if ($type) {
return response(json_encode($info, $type), $status)->header('Content-Type', 'application/json');
} else {
return response(json_encode($info), $status)->header('Content-Type', 'application/json');
}
}

controller/model 职责明确

controller处理请求携带的参数,model返回的数据库数据。在model 就是直接利用参数,对数据库的操作。比如

1
2
3
4
5
6
7
# controller 判断参数times
if (!isset($params['times']) || count($params['times']) != 2 || $params['times'][0] > $params['times'][1]) {
return '时间选择错误';
}

# 毫秒转秒 millisecondToSecond = 1000
$params['times'][0] = intval($params['times'][0] / config('constants.millisecondToSecond'));

有时还在controller/model 中间再加一层,在Repositories 目录文件中对model 取出的数据进一步处理。其他controller 要使用,就先在Providers 绑定interface—>实现类, laravel会通过controller 构造函数注入给它。

欢迎大家给我留言,提建议,指出错误,一起讨论学习技术的感受!

-------------本文结束感谢您的阅读-------------
Donate comment here