php-app接口实现(json和xml)
来源:互联网 发布:淘宝 无人机 编辑:程序博客网 时间:2024/04/20 14:25
1.回顾
上篇学习了封装mysql的实例化对象类!
2.这篇将封装一个app接口类,用来生成 json数据和xml数据
3.了解和掌握
3.1 xml和json的区别
xml:扩展标记语言:可以标记数据 ,定义数据类型;数据格式清晰明了, 可读性高;
json:一种轻量级的数据交换格式;生成数据简单;传输速度快;
json:一种轻量级的数据交换格式;生成数据简单;传输速度快;
3.2 app接口与数据
获取数据:从数据库中或者缓存中获取数据(可以是缓存里的数据)
提交数据:通过get方式或者post方式提交数据,服务端处理后,返回数据
提交数据:通过get方式或者post方式提交数据,服务端处理后,返回数据
3.3 通信数据标准格式
状态码:code
提示信息:message
返回数据: data
提示信息:message
返回数据: data
3.4 定时任务和缓存 (这里不封装)
缓存 :静态缓存 , Memcache 和 Redis 缓存技术
定时任务 :corntab
定时任务 :corntab
4.封装
4.1 json封装
json方式封装接口数据方法
函数json_encode();
只接收utf-8的编码数据
函数json_encode();
只接收utf-8的编码数据
4.2 xml封装
组装字符串 (简单)
使用系统的方法
使用系统的方法
4.3 实现类
<?php//header("Content-type:text/html;charset=utf-8");class Response{const JSON='json';/** * 01.综合通信入口 * @param int $code * @param string $msg * @param array $data * @param string $type */public static function show($code,$msg='',$data=array()){if(!is_numeric($code)){return '';}//如果url上传参了,去参数的类型,否则取得默认值!$type=isset($_GET['type'])?$_GET['type']:self::JSON;$result=array('code'=>$code,'msg'=>$msg,'data'=>$data);if($type=='json'){self::jsonEncode($code,$msg,$data);exit();}elseif ($type=='xml'){self::xmlEncode($code,$msg,$data);exit();}elseif ($type='array'){var_dump($result);exit();}}/** * 02.按json方式输出 通信数据 * @param int $code 状态码 * @param string $msg 提示信息 * @param array $data 数据 * retrun string */public static function jsonEncode($code,$msg='',$data=array()) {header("Content-Type:text/json");#判断状态码if(!is_numeric($code)){return '';}$result=array('code'=>$code, 'msg'=>$msg,'data'=>$data);echo json_encode($result);exit();} /** * 03.封装xml 输出通信数据 * @param unknown $code * @param unknown $msg * @param unknown $data */public static function xmlEncode($code,$msg='',$data=array()){if(!is_numeric($code)){ return '';}$result=array('code'=>$code,'msg'=>$msg,'data'=>$data);header("Content-Type:text/xml");$xml="<?xml version='1.0' encoding='UTF-8'?>";$xml.="<root>";$xml.=self::xmlToEncode($result);$xml.="</root>";echo $xml;exit();}/** *04. 拼装 xml数据 * @param array $data * @return string * 使用递归,判断是不是数组,是数组继续调用循环 * xml的 节点不能为 数字,用item代替 */public static function xmlToEncode($data){$xml=$attr='';foreach ($data as $key=>$value){if(is_numeric($key)){$attr="id='{$key}'";$key="item";}$xml.="<{$key} {$attr}>";$xml.=is_array($value)?self::xmlToEncode($value):$value;$xml.="</{$key}>";}return $xml;}}?>
4.4 调用
通过url实现 ,显示数据类型 type可以为 xml ,json ,array !
http://localhost:8081/appInterface/test.php?type=json
test.php 实现如下:
require_once 'appUtil.php';
$arr=array('id'=>1,'name'=>'yuan','age'=>23,'location'=>'hpu');$arr1=array(1,4,5,2,6,3);Response::jsonEncode(200,'success',$arr);
5.综合 上篇连接mysql数据库 实现:数据封装
//调用$con=Db::getInstance()->connect();//查询语句$sql='select * from user_info';//执行,返回结果集$result=mysql_query($sql,$con);//添加的新数组$arr3=array();while ($row=mysql_fetch_row($result)){array_push($arr3,$row);}Response::show('200','success',$arr3);
6. appUtil.php下载
http://download.csdn.net/detail/lablenet/8995987
0 0
- php-app接口实现(json和xml)
- PHP做app接口-json和xml
- 有json,xml实现 App 接口
- php封装JSON或XML数据 PHP开发APP接口
- PHP之APP接口,XML介绍,JSON介绍
- php json对接app接口
- php app 接口 封装json
- Xml和json接口
- php app 接口 封装xml
- php开发安卓服务器之 php封装json xml通用app数据通信接口
- PHP接口数据的封装XML和JSON
- PHP生成json和xml类型接口数据格式
- php写接口例子返回json和xml数据
- PHP对接APP的接口类,可返回json数据,xml数据
- PHP做APP接口之Json示例
- PHP实现返回JSON和XML的类分享
- php 处理json 和 xml
- 接口封装 (xml json)
- 如何查看mysql运行、访问记录等日志
- SpingMVC中的三种HandlerMapping(映射器)
- html之 《meta》设置缓存
- sybase 优化总结
- 提交表单时的中文乱码问题
- php-app接口实现(json和xml)
- vmware虚拟机NAT通信方式配置
- kvm(1)之快速使用
- MySQL索引类型
- Agri-Net POJ 1258 【Prim】
- CSUOJ:集训队组队计划
- Elastos测试框架搭建--测试用例运行流程
- Shell脚本学习(一) - 创建脚本
- 点击tableview的头视图按钮来达到收放tableview的列表