PHP WebService2-Controller
总体类
<?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);
这是我的个人日记本