• 夺命雷公狗---PHP开发APP接口---4(综合通信方式封装)


    综合通信接口数据方式封装

    show($code,$message='',$data=array(),$type='json');

    封装好之后只要传递一个参数json或者xml就可以得到json或者xml数据

    <?php
        class Ren{
            /**
            *按综合方式输出通信数据
            *@param integer $code 验证码
            *@param string $message 提示信息
            *@param array $data 数据
            *return string $type 数据类型
            *return string 数据
            */
            const JSON = 'json';
            public static function show($code,$message='',$data=array(),$type=self::JSON){
                if(!is_numeric($code)){
                    return '';
                }
                
                $type = isset($_GET['format'])?$_GET['format'] : self::JSON;
                
                $result = array(
                    'code' => $code,
                    'message' => $message,
                    'data' => $data
                );
                
                if($type == 'json'){
                    self::json($code,$message,$data);
                    exit;
                }else if($type == 'array'){
                    var_dump($result);  //这里的目的主要是为了做一个调试的功能
                }else if($type == 'xml'){
                    self::xmlEcode($code,$message,$data);
                    exit;
                }else{
                    //后续可以继续写
                }
            }
            
            
            public static function json($code,$message='',$data=array()){
                if(!is_numeric($code)){
                    return '';
                }
                
                $result = array(
                    'id'=>$code,
                    'message'=>$message,
                    'data' => $data
                );
                echo json_encode($result);
                exit;
            }
            
            public static function xmlEcode($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'?>
    ";
                $xml .= "<root>
    ";
                $xml .= self::xmltoEncode($result);
                $xml .= "</root>";
                echo $xml;
            }
            
            public static function xmltoEncode($data){
                $xml = $attr = '';
                foreach($data as $k=>$v){
                    if(is_numeric($k)){
                        $attr = " id='{$k}'";
                        $k ='item';
                    }
                    $xml .= "<{$k}{$attr}>";//$k相当于数据里面的节点
                    $xml .= is_array($v) ? self::xmltoEncode($v):$v;//$v相当xml节点里面的数据
                    $xml .= "</{$k}>
    ";
                }
                return $xml;
            }
        }

    测试方法:

    <?php
        include('./6.php');
        //测试的json数据
        $arr = array(
            'id'=> 1,
            'name'=>'lisi',
            'age' => 20
        );
        Ren::show('200','数据返回成功',$arr);
        
        /*
        //测试的xml数据
        $data = array(
            'id' => 1,
            'name' => 'lisi',
            'type' => array(1,7,89,array('5','a','d','d'))
        );
        Ren::show(200,'success',$data);*/
  • 相关阅读:
    在windows系统下,配置vue项目一键启动文件
    CSS中设置元素的圆角矩形
    CSS中使用文本阴影与元素阴影
    如何使用CSS3中的结构伪类选择器和伪元素选择器
    CSS中的z-index属性如何使用
    深入学习CSS中如何使用定位
    css中如何使用border属性与display属性
    深入了解CSS中盒子模型
    CSS中如果实现元素浮动和清除浮动,看这篇文章就足够了
    CSS标准文档流
  • 原文地址:https://www.cnblogs.com/leigood/p/4955141.html
Copyright © 2020-2023  润新知