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);
    }
}
最后修改:2022 年 05 月 10 日
如果觉得我的文章对你有用,请随意赞赏