zoukankan      html  css  js  c++  java
  • 按综合方式输出通信数据

    <?php
    
    class Response {
        const JSON = "json";
        /**
        * 按综合方式输出通信数据
        * @param integer $code 状态码
        * @param string $message 提示信息
        * @param array $data 数据
        * @param string $type 数据类型
        * return string
        */
        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;
            } 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 static 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 static 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'?>
    ";
            $xml .= "<root>
    ";
    
            $xml .= self::xmlToEncode($result);
    
            $xml .= "</root>";
            echo $xml;
        }
    
        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;
        }
    
    }
  • 相关阅读:
    学而201205期先导班信息系统项目管理师招生简章
    201205期蘑菇班信息系统项目管理师招生简章
    用常识驳倒方舟子之一 :韩寒的女儿与常识
    学而201211期蘑菇班信息系统项目管理师招生简章
    工作量与工作历时计算
    git设置中英文
    楼层跳转scrollintoview坑
    一则浏览器兼容性解决案例(搜狗)
    C语言未初始化变量输出的是随即数
    远程关机,在MM面前显摆一次的机会,别错过 To Phper
  • 原文地址:https://www.cnblogs.com/yangzailu/p/9195871.html
Copyright © 2011-2022 走看看