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

  • 相关阅读:
    LeetCode:Container With Most Water
    c#编写的基于Socket的异步通信系统
    关于Thread类中三个interrupt方法的研究与学习(转)
    使用svnkit 的相关实例及相关问题汇总
    创业早期,联合创始人如何避免窝里反?(转)
    程序员解决问题的60个策略(转)
    码农和程序员之间的5个关键差异(转)
    LayoutInflater的使用
    2014年中国95家企业入围世界500强,超日本
    How to get the source code of the chromium of the specified revision
  • 原文地址:https://www.cnblogs.com/aten/p/9525841.html
Copyright © 2011-2022 走看看