zoukankan      html  css  js  c++  java
  • 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'?>
    ";
    		$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;
    	}
    

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

      

    这是我的个人日记本
  • 相关阅读:
    lvs+keepalive安裝部署文檔
    北邮 -3.29
    第一章
    CG-CTF 部分
    bugku部分
    1062 Talent and Virtue (25分)(水)
    1061 Dating (20分)
    1060 Are They Equal (25分)
    素数筛选
    1059 Prime Factors (25分)
  • 原文地址:https://www.cnblogs.com/valentineisme/p/4195276.html
Copyright © 2011-2022 走看看