浅谈APP接口

最近开始学习了APP接口,对此写下博客作为自己的一个总结分析。


一、json方式封装通信接口

1.那么php是如何生成json数据的呢?其实方法很简单,一个json_encode()函数就可以搞定!

注意:json_encode函数只能接收utf-8数据,对于其他格式的编码它是不能产生json数据的,只能返回null;

我们可以用函数iconv()用户字符串的编码转换,其中函数含有三个参数,(原始编码,转换的彪编码,变量名);

2.通信数据的 标准格式

code          状态码(200,400等),标识服务端的状态

message   提示信息(数据返回成功等)

data          返回数据

了解了这些,接下来是代码封装:

<?php
 class Response
{
/**
 * [json<font size="3"><span style="font-size:14px;"><span style="font-size:14px;"><span style="font-size:14px;">方式封装通信接口</span></span></span></font>]
 * @param  [type] $code    [状态码]
 * @param  string $message [提示信息]
 * @param  array  $data    [数据]
 * @return [type]          [string]
 */
	public static function json($code,$message='',$data=array()){
		//判断是否为数字或字符串
		if(!is_numeric($code)){
			return '';
		}
		//定义数组变量
		$result=array(
			'code'=>$code,
			'message'=>$message,
			'data'=>$data
		);
		//产生json数据
		echo json_encode($result);
		exit;
	} 
}

新建文件调用json方法

<?php
//加载类文件
require_once('./a.php');

$arr=array(
	'id'=>1,
	'name'=>'mpk'	
);
//调用json方法
Response::json(200,'数据返回成功',$arr);

返回json数据;

{"code":200,"message":"\u6570\u636e\u8fd4\u56de\u6210\u529f","data":{"id":1,"name":"mpk"}}

OK!我们的 json方式封装通信接口完成!

接下来这是我们比较成熟的一个封装类,它是通过json和xml综合封装的通信数据

 class Response
{
	const JSON="json";
	public static function show($code,$message='',$data=array(),$type=self::JSON){
		if(!is_numeric($code)){
			return "";
		}
		$type=isset($_GET['form'])?$_GET['form']:self::JSON;
		$result=array(
			'code'=>$code,
			'message'=>$message,
			'data'=>$data
		);
		if($type=='json'){
			self::json($code,$message,$data);
			exit;
		}elseif ($type=='array') {
			# code...
			var_dump($result);
		}elseif ($type=='xml') {
			# code...
			self::xmlEncode($code,$message,$data);
			exit;
		}else{
			//......
		}
	}

加载类文件


//加载类文件
require_once('./a.php');

$arr=array(
	'id'=>1,
	'name'=>'mpk',
	'type'=>array(4,5,6),
	'test'=>array(7,9,11=>array(123,'mmm'))
);
//调用数据方法
Response::show(200,'数据返回成功',$arr); 

我们可以根据需要的格式在访问路径时后缀添加?form=“类型“,比如www.app.com/text.php?form=xml




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值