码迷,mamicode.com
首页 > Web开发 > 详细

PHP接口开发XML/JSON数据通信类

时间:2014-12-31 11:13:08      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:

总体类

<?php
class Response{
	const JSON=‘json‘;





?>

Json数据处理

/**
	*json format data
	*@param integer $code status code
	*@param string  $message message data
	*@param array   $data
	*return string
	*/
	public static function jsonEncode($code,$message=‘‘,$data=array()){
		if (!is_numeric($code)) {
			return ‘‘;
		}
		$result=array(
			‘code‘=>$code,
			‘message‘=>$message,
			‘data‘=>$data
		);

		echo json_encode($result);
		exit();
	}

XML数据处理


/**
	*xml format data
	*@param integer $code status code
	*@param string  $message message data
	*@param arrat   $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‘?>\n";
		$xml.="<root>\n";
		$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}>\n";
		}
		return $xml;
	}

XML-JSON混合数据处理


/**
	*xml/json format data
	*@param integer $code status code
	*@param string  $message message data
	*@param arrat   $data
	*@param string  $type  data 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::jsonEncode($code,$message,$data);
		}elseif($type==‘xml‘){
			self::xmlEncode($code,$message,$data);
		}else{
			self::jsonEncode($code,$message,$data);
		}
	}

测试调用


$data=array(
	‘id‘=>1,
	‘bane‘=>‘valentine‘,
	‘type‘=>array(4,5,6)
);
Response::show(200,‘success‘,$data);

  

 

PHP接口开发XML/JSON数据通信类

标签:

原文地址:http://www.cnblogs.com/valentineisme/p/4195276.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!