php 向app返回,PHP开发APP接口之返回数据

首先说明一下客户端APP通信的格式

1.xml:扩展标记语言(1.用来标记数据,定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言,xml格式统一,跨平台和语言,非常适合数据传输和通信,早已成为业界公认的标准)

测试

测试oen

深圳

XML的可读性要好

2、json:一种清凉级别的数据交换格式,具有良好的可读和便于快速编写的特性,可在不同平台证件进行数据交换,JSON采用兼容性很高的,完全独立于语言文本格式。这种特性使JSON成为理想的数据交换语言。

{"code":200,"message":"\u6210\u529f\u54af","data":{"id":1,"name":"jiang"}}

JSON的生成数据性 (json_encode(数组)) 传输速度方面要好

再说一下APP接口做的那些事

获取数据:从数据库中或缓存中获取数据,然后通过接口数据返回客户端

提交数据:通过接口提交数据给服务器,然后通过服务器入库处理,或者其他处理

最后综合方式封装通信数据方法

封装方法:show($code,$message,$data=array(),$type=’json/xml’)

namespace Miaoxing\Zhw\Service;

use miaoxing\plugin\BaseModel;

class ZhwCategory extends BaseModel

{

const JSON = "json";

/**

* 按x综合方式输出通信数据

* @param integer $code 状态码

* @param string $message 提示信息

* @param array $data 数据

* @param string $type 数据类型

* return string

*/

public function show($code,$message='',$data=array(),$type = self::JSON)

{

if (!is_numeric($code)){

return "错误编码";

}

$result = array(

'code' => $code,

'message' => $message,

'data' => $data,

);

if($type == 'json'){

self::json($code,$message,$data);

exit;

}elseif($type == 'array'){

var_dump($result);

}elseif ($type == 'xml'){

self::xmlEncode($code,$message,$data);

exit;

}else{

//TODO

}

}

/**

* 按json方式输出通信数据

* @param integer $code 状态码

* @param string $message 提示信息

* @param array $data 数据

* return string

*/

public function json($code,$message = '',$data = array())

{

if (!is_numeric($code)){

return '错误';

}

$result = array(

'code' => $code,

'message' => $message,

'data' => $data

);

echo json_encode($result);

exit;

}

/**

* 按xml方式输出通信数据

* @param integer $code 状态码

* @param string $message 提示信息

* @param array $data 数据

* return string

*/

public function xmlEncode($code,$message = '',$data=array())

{

if(!is_numeric($code)){

return "错误";

}

$result = array(

'code' => $code,

'message' => $message,

'data' => $data,

);

header("Content-Type:text/xml");

$xml = "<?xml version='1.0' encoding='UTF-8'?>\n";

$xml .= "\n";

$xml .=self::xmlToEncode($result);

$xml .="";

echo $xml;

}

//对数据再处理

public function xmlToEncode($data){

$xml = $attr ="";

foreach ($data as $key=>$value){

if(is_numeric($key)){

$attr = "id='{$key}'";

$key = "item";

}

$xml .= "";

$xml .=is_array($value) ? self::xmlToEncode($value):$value;

$xml .="{$key}>\n";

}

return $xml;

}

}

Controller:

public function jsonsAction()

{

$arr = array(

'id' => 1,

'name' => 'jiang'

);

$k = wei()->zhwCategory()->json(200,'成功咯',$arr);

return $k;

}

public function xmlsAction()

{

$arr = array(

'id' => 1,

'name' => 'jiang',

'type' =>array(4,5,6),

'test' =>array(1,45,67=>array(1,2,3)),

);

$k = wei()->zhwCategory()->xmlEncode(200,'成功咯',$arr);

return $k;

}

public function showAction()

{

$arr = array(

'id' => 1,

'name' => 'jiang',

'type' =>array(4,5,6),

'test' =>array(1,45,67=>array(1,2,3)),

);

$k = wei()->zhwCategory()->show(200,'成功咯',$arr,'json');

return $k;

}

本人转自:https://blog.csdn.net/weixin_38300969/article/details/78341982

仅供自己学习,特此记录

作者:Cheney.rain

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值