/* xml封装接口数据方法 */

// 1. PHP生成xml数据

//$dom = DOMDocument('1.0','utf-8');

//$element = $dom->createElement();

//2. 组装字符串 拼接字符串

Class Response{

/* 按照json方式输出通信数据

*@param $code 状态码

*@param $message 提示信息

*@param array $data 数据

*@return string

* */

public static function json($code,$message = '',$data = array())

{

if(!is_numberic($code)){

return '';

}

$result = array(

'code' => $code,

'message' => $message,

'data' => $data,

);

return json_encode($result);

exit;

}

public static function xml()

{

$xml = "<?xml version='1.0' encoding='utf-8'?>\n";

$xml .= "<root>\n";

$xml .="<code>200</code>\n";

$xml .= "<message>数据返回成功</message>\n";

$xml .= "<data>\n";

$xml .= "<id>1</id>\n";

$xml .= "<name>shibin</name>\n";

$xml .="</data>\n";

$xml .= "</root>\n";



return $xml;

}



}





/* xml封装接口数据方法 */

// 1. PHP生成xml数据

//$dom = DOMDocument('1.0','utf-8');

//$element = $dom->createElement();

//2. 组装字符串 拼接字符串

Class Response{

/* 按照json方式输出通信数据

*@param $code 状态码

*@param $message 提示信息

*@param array $data 数据

*@return string

* */

public static function json($code,$message = '',$data = array())

{

if(!is_numberic($code)){

return '';

}

$result = array(

'code' => $code,

'message' => $message,

'data' => $data,

);

return json_encode($result);

exit;

}

public static function xml()

{

$xml = "<?xml version='1.0' encoding='utf-8'?>\n";

$xml .= "<root>\n";

$xml .="<code>200</code>\n";

$xml .= "<message>数据返回成功</message>\n";

$xml .= "<data>\n";

$xml .= "<id>1</id>\n";

$xml .= "<name>shibin</name>\n";

$xml .="</data>\n";

$xml .= "</root>\n";



return $xml;

}

public static function xmlToEncode($data){

$xml = $attr = '';

foreach($data as $key=>$value){

if(is_numberic($key)){

$attr = "id = '{$key}'";

$key = $item;

}

$xml . "<{$key}{$attr}>\n";

$xml .= is_array($value)?self::xmlToEncode($value):$value; //$value若是数组,递归调用该函数,否则输出即可

$xml .="</{$key}>\n";

}



return $xml;

}

/*综合通信方式方法*/

const JSON = 'json';

public static function show($code,$message = '',$data = array(),$type = self::JSON){

if(!is_numberic($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'){

return $result;

}elseif($type == 'xml'){

self::XmlEncode($code,$message,$data);

}else{

//后续的HTML,等数据

}

}



}



$data = array(

'id' => 1,

'name' => 'shibin',

'type'=> array(4,5,6),// key值0,1,2,作为标签了, <0>4</0> -> <item id='0'>4</0>

'test'=> array(1,45,67=>array(123,'test'),)

);

Response::XmlEncode(200,'success',$data);