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

    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;
    	}
    }
    

    调用静态方法:类名::方法
    Response::show(200,'success',$data);

  • 相关阅读:
    C. 1D Sokoban 二分,思维
    E. Almost Fault-Tolerant Database 暴力枚举 + 分类讨论 + 思维 Codeforces Round #704 (Div. 2)
    Tkinter(六):Checkbutton 复选按钮
    LeetCode260. 只出现一次的数字 III
    LeetCode297. 二叉树的序列化与反序列化
    LeetCode300. 最长上升子序列
    LeetCode299. 猜数字游戏
    LeetCode295. 数据流的中位数
    你真的知道嵌入式系统的优先级吗?
    学习4412开发板gdb和gdbserver的调试
  • 原文地址:https://www.cnblogs.com/aten/p/9525841.html
Copyright © 2011-2022 走看看