class Response{
const JSON="json";
/**
按综合方式输出通信数据
*@param integer $code 状态码
*@param string $message 提示信息
*@param array $data 数据
*@param string $data 数据类型
*return string
*/
public static function document($code,$message='',$data=array(),$type=self::JSON)
{
if(!is_numeric($code))
{
return"";
}
$type=isset($_GET['dataType'])?$_GET['dataType']:'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'?>\n";
$xml.="\n";
$xml.=self::xmlToEncode($result);
$xml.="";
echo $xml;
}
public static function xmlToEncode($data)
{
$xml=$attr="";
foreach($data as $key => $value)
{
if(is_numeric($key)){
$attr=" id='{$key}'";
$key="item";
}
$xml.="\n";
$xml.=is_array($value)?self::xmlToEncode($value):$value;
$xml.="{$key}>";
}
return $xml;
}
public static function _get($str)
{
$val = !empty($_GET[$str]) ? $_GET[$str] : null;
return $val;
}
public static function _post($str)
{
$val = !empty($_POST[$str]) ? $_POST[$str] : null;
return $val;
}
}
?>