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

      

    这是我的个人日记本
  • 相关阅读:
    ArcGIS
    gdal 在 vs2005中的安装
    ArcView ArcEditor ArcInfo区别
    从自行车掉链想到的
    实现带有身份验证的WebService
    研究一下全文索引
    【转】Com和.Net互操作规范
    TDSSNIClient 初始化失败,出现错误 0x7e,状态代码 0x60。
    整理最近新学到的几种sql写法(一)动态“循环”更新表内数据
    整理多个技术点的sql综合应用:(开拓思路,SELECT子句内嵌子查询)
  • 原文地址:https://www.cnblogs.com/valentineisme/p/4195276.html
Copyright © 2011-2022 走看看