PHP开发APP接口

APP接口简介

封装通信接口的方法:

服务器端->数据库 |缓存 ->调用接口->客户端

APP接口介绍:

APP(通信)接口定义:

接口地址:http:xxxxx

接口文件 :api.php处理一些业务逻辑

接口数据:xml格式或者json

但是现在一般都是json了吧。。

php(json) 

json_encode($arr);

php(xml)

header("content-type:text/xml");

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

...

或者

$dom = new DomDocument('1.0','utf-8');

....

或者

xmlWriter

或者

SimpleXML(好像学过,给忘了)


json封装数组的时候,json_encode只能接受UTF-8的数据,其他数据会返回null


通信数据的标准格式:

code :状态码 (200.400等)

message: 提示信息(邮箱格式不存在等)

data:返回数据


<?php
/**
* 按json方式输出通信 
*/
class Response
{
	
	function __construct(argument)
	{
		# code...
	}

	/*
	 * 按json方式输出通信数据
	 */
	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的方式输出通信数据(demo)
	 */
	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";
		$xm  .="</root>\n";
	}

	/*
	 *封装xml的方法
	 */
	public static function xmlEncode($code,$message){
			 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 .= self::xmltoEncode($message);
			$xml = "</xml>";
    	    echo $xml;
	}

	public static function xmltoEncode($msg){
		$xml = "";
		foreach ($data as $key => $value) {
			# code...
			$xml .="<".$key.">";
			$xml .=is_array($value)?self::xmltoEncode($value):$value;
			$xml .="</".$key.">";
		}
		return $xml;
	}

	/*
	 *综合封装的方法
	 */
    public static function send($code,$message='',$data=array(),$type){
    	if(!is_numeric($code)){
    		return '';
    	}
    	$result = array(
    	    	'code'=>$code,
    	    	'message'=>$message,
    	    	'data'=>$data,
    	 );
    	
    	if($type=='json'){
    		self::json($code,$message,$data);
    		exit;
    	}elseif($type='test'){
    		var_dump($result);
    	}elseif($type=='xml'){
    		self::xmlEncode($code,$message,$data);
    	}else{
    		//...TODO
    	}
    }
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值