ThinkPHP5 工具类(二:ShowCode 返回类)

  • A+
所属分类:PHP ThinkPHP5

需求:利用ThinkPHP5 实现接口的需要定义统一的返回格式

定义ShowCode类

namespace app\common\toole;

use think\Config;
use think\Request;

//定义默认的返回消息

static protected $defaultReturn = [
    'code' => '404',
    'msg' => '未知服务器消息',
    'data' => [],
];
class ShowCode
{
    
}

返回码方法

/**
 * 返回码主方法
 * @param string $code 返回码
 * @param array $data 返回值
 * @param string $msg 返回消息的说明
 * @param array $append 附加信息
 * @return array
 */
static public function code($code = '', $data = [], $msg = '')
{
    $return = self::$defaultReturn;
    if (empty($code))
    {
        return $return;
    } else
    {
        $return["code"] = $code;
    }
    $return["data"] = $data;       
    if (!empty($msg))
    {
        $return['msg'] = $msg;
    } else
    {
        $return['msg'] = self::getCodeMsg($code);
    }    
    return $return;
}

通过code值映射msg信息

public static function getCodeMsg($code)
{
    $code_msg = Config::get("returnCode");
    $single_extra_code = Config::get(strtolower(Request::instance()->module())."ReturnCode");
    if(isset($code_msg[$code]))
    {
        return $code_msg[$code];
    }elseif(null !== $single_extra_code&& is_array($single_extra_code) && isset ($single_extra_code[$code]))
    {
        return $single_extra_code[$code];
    }
    else{
        return '';
    }
}

无data返回消息

/**
 * 别名方法 无data返回值
 * @param string $code
 * @param string $msg
 * @return array
 */
static public function codeWithoutData($code = '', $msg = '')
{
     return self::code($code, [], $msg);
 }

返回json格式

/**
 * 别名方法 返回json格式返回码
 * @param string $code
 * @param string $msg
 * @return array
 */
static public function jsonCode($code = '', $data = [], $msg = '')
{
    self::returnJsonType();
    return self::code($code, $data, $msg);
}

无data返回json格式

/**
 * 别名方法 返回json格式返回码 无data值
 * @param string $code
 * @param string $msg
 * @return array
 */
static public function jsonCodeWithoutData($code = '', $msg = '')
{
    self::returnJsonType();
    return self::code($code, [], $msg);
}

定义json返回头信息

static public function returnJsonType()
{
    Config::set("default_return_type", "json");
}

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: