1.在公共函数文件中增加统一返回方法show()。
app/common.php
/**
*
*
* @method show
* @param $status 业务状态码
* @param $message 提示信息
* @param $data 返回数据
* @param $httpStatus 返回状态码
*/
function show($status = null, $message = "error", $data = null, $httpStatus = 400)
{
if ($status == null) {
$status = config("status.error");
}
$result = [
'status' => $status,
'message' => $message,
'results' => $data,
];
return json($result, $httpStatus);
}
2.新建status.php 作为状态返回值记录。
config/status.php
/**
* End file status.php
*/
return [
//正常
'success' => 1,
//错误
'error' => 0,
//方法未找到
'action_not_found' => -3,
//控制器未找到
'controller_not_found' => -4,
];
3.对没有找到方法做自定义处理,修改BaseController控制器新增__call魔术方法。
app/BaseController.php
//没有找到该方法
public function __call($name, $arguments)
{
// TODO: Implement __call() method.
return show(config("status.action_not_found"),"未找到{$name}方法!",null,404);
}
4.对没有找到控制器做自定义处理,新建Error.php,新增__call()魔术方法。
app/controller/Error.php
<?php
/**
* End file Error.php
*/
namespace app\controller;
class Error
{
//没有找到控制器处理
public function __call($name, $arguments)
{
// TODO: Implement __call() method.
return show(config("status.controller_not_found"),"未找到{$name}控制器!",null,404);
}
}