API开发之封装接口数据返回函数

一般我们开发接口就是返回客户端需要的json数据,但是未免显得有些low,还不如我们自己定义一套函数用的舒服。

废话不多说,马上开始!

方法一:先定义几个常用的错误状态码
/**
  * 获取错误代码对应的提示信息
  * @param: $code   int  错误代码
  * @return:  string
  */
  function codeInfo($code){
    $codeInfo = array(
      100 => '未登录',
      125 => '账号错误',
      130 => '密码错误',
	  200 => '成功',
	  400 => '参数错误',
      160 => '此账号禁止登陆',
	  401 => '未认证',
	  404 => '未找到',
      900=>'未注册',
      901=>'不支持'
    );
    if($codeInfo[$code]){
      return $codeInfo[$code];
    }else{
      return '';
    }
    
  }
方法二:定义成功时返回数据函数
/**
  * 返回成功
  * @param: $data       array   需返回的数据
  * @param: $msg        string  提示信息
  * @return:
  */
  function successReturn($data = array(), $msg = "", $exit = true) {
    $data = (object)$data;
    echo json_encode(array(
        "result" => "success",
        "Code" => 200,
        "msg" => $msg ? $msg : "成功",
        "data" => $data,
    ));
    if ($exit ) {
		exit;
	}
  }
方法三:定义失败时返回数据函数
/**
  * 返回失败
  * @param: $failCode   int      错误代码
  * @param: $msg        string   提示信息
  * @param: $data       array    需返回的数据
  * @return: void
  */
  function failReturn($failCode, $msg = '', $data = array(), $exit = true) {
    $data = (object)$data;
    $returnArray = array (
      'result' => 'fail',
      'Code'=>$failCode,
      'msg' => $msg?$msg:codeInfo($failCode),
      'data' => $data,
    );
    echo json_encode ($returnArray);
    if($exit){
      exit;
    }
  }
方法四:记录非致命类型的错误
/**
  * 出现非致命错误时记录错误日志
  * @param: 
  * @return:
  */
  function errorLog(){
	$error = error_get_last();
	if ($error && stristr($error['file'], 'FS_APP/') && !stristr($error['message'], 'Undefined index:') && $error['type'] != 8) {
		logs('errorLog' . date('YmdHis'), $error);
	}
  }
方法五:
/**
  * 日志记录
  * @param: $name      string            日志文件名称
  * @param: $data      string/string     接口返回数据
  * @return:
  */
  function logs($name = '',$data = '',$path = ''){
	 if (!$name) {
		  $name = 'log' . date('YmdHis');
	  } else {
		  $logPath = DIR_FS_APP . 'cache/debug/';
	  }
	 if (!$path) {
		  $logPath = DIR_FS_APP . 'cache/history/';
		  if (is_dir($logPath) == false) {
			  mkdir(DIR_FS_APP . 'cache/history/');
			  chmod(DIR_FS_APP . 'cache/history/', 0777);
		  }
	 }	
	 @file_put_contents($logPath.$name.'.txt',$dataStr,FILE_APPEND);
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值