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

  • 相关阅读:
    深入理解Java8中Stream的实现原理
    RocketMQ的顺序消费和事务消费
    Java 性能调优小技巧
    类加载机制基础
    十大经典排序算法
    分布式锁的几种常用实现方式
    python之接口开发
    python之urllib模块和requests模块
    python之time模块和hashlib模块
    python之os和sys模块的区别
  • 原文地址:https://www.cnblogs.com/aten/p/9525841.html
Copyright © 2011-2022 走看看