php api响应格式数据格式化Response类
2018-10-09 13:40
323 查看
<?php /** * Created by PhpStorm. * User: 江 * Date: 2018/10/9 * Time: 11:49 */ //用于显示响应信息 class Response { /** * 格式常量 */ const JSON="json"; /** * 根据不同的格式把数据转换成响应的格式输出 * @param $code 状态码 * @param $message 提示信息 * @param array $data 返回的数据 * @param string $type 返回数据的格式(json.xml,array) * @return array|string */ public static function show($code,$message,$data=array(),$type=self::JSON){ //当传入的返回码不是数字时,return 空 if(!is_numeric($code)){ return ''; } //当url后有format格式参数传过来时,使用传过来的参数进行处理 //没有传值过来就用函数 $type参数决定 $type=isset($_GET['format'])?$_GET['format']:$type; //组装一下数据 $result=array( 'code'=>$code, 'message'=>$message, 'data'=>$data, ); //根据 $type 进行分发 if($type=="json"){ self::jsonToEncode($code,$message,$data); }elseif($type=="xml"){ self::xmlToEncode($code,$message,$data); }else{ //直接返回数组格式 return $result; } } /** * 产生json格式数据 * @param $code * @param $message * @param array $data */ public static function jsonToEncode($code,$message,$data=array()){ $data=[ 'code'=>$code, 'message'=>$message, 'data'= 4000 >$data ]; echo json_encode($data); exit; } /*** * 产生xml格式数据 * @param $code * @param $message * @param array $data */ public static function xmlToEncode($code,$message,$data=array()){ $result=[ 'code'=>$code, 'message'=>$message, 'data'=>$data ]; header("Content-Type:text/xml"); $xml="<?xml version='1.0' encoding='UTF-8' ?>"; $xml.="<root>"; $xml.=self::xmlEncode($result); $xml.="</root>"; echo $xml; } /** * 把传入的数组数据,格式化成xml格式数据 * @param $data * @return string */ public static function xmlEncode($data){ $xml=$attr=""; foreach($data as $key=>$value){ //当数据为 索引型数组,就把下标以节点属性的形式组装起来 <item id={下标}>{value}</item> if(is_numeric($key)){ $attr="id='{$key}'"; $key="item"; } $xml.="<{$key} {$attr}>"; //递归遍历,当$value是数组时就再次调用本函数 $xml.=is_array($value)?self::xmlEncode($value):$value; $xml.="</{$key}>"; } return $xml; } } $data=[ 'id'=>1, 'name'=>'ocean', 'type'=>array(1,2,3=>[4,5,6]) ]; Response::show(200,"success",$data,'xml');[/code] 阅读更多
相关文章推荐
- php json_encode数据格式化2种格式[]和{}
- php处理excel时间数据--——使用PHPExcel判别和格式化Excel中的日期格式
- php JSON数据格式化方法
- PHP的serialize序列化数据以及JSON格式化数据分析
- php使用curl发送json格式数据实例
- PHPExcel导出导入excel、csv等格式数据
- PHP中使用json数据格式定义字面量对象的方法
- Django 源码小剖: 响应数据 response 的返回
- JavaWeb_Day10_学习笔记1_response(3、4、5、6、7、8、9)发送状态码、响应、重定向、定时刷新、禁用浏览器缓存、响应字节数据、快捷重定向方法、完成防盗链
- spring mvc@Responsebody注解 对返回json格式数据的支持
- phpexcle 导出数据 日期格式的问题
- @ResponseBody---异步时--json、xml等格式的数据时
- php返回json格式数据
- application/x-www-form-urlencoded multipart/form-data text/plain 后台返回的数据响应的格式类型
- php 其他格式数据与数组互转
- asp.net2.0 c#格式化数据 日期格式设置示例 format使用 DataFormatString使用
- php导出excel格式数据问题
- 解析PHP 使用curl提交json格式数据
- XML(php中获取xml文件的方式/ajax获取xml格式的响应数据的方式)
- php 将json格式数据转换成数组的方法