当前位置:Gxlcms > PHP教程 > PHP开发APP接口(1)

PHP开发APP接口(1)

时间:2021-07-01 10:21:17 帮助过:4人阅读

PHP开发APP接口(一)

php以json或者xml 形式返回给app。明白这点就很好说了,就是把数据包装成json或者xml,返回给APP

定义抽象APP基类:


以xml形式返回给APP:

 $code,			'message' => $message,			'data' => $data		);		header('Content-Type:text/xml');		$xml = "\n";		$xml .= "";		$xml .= self::xmlToEncode($result);		$xml .= "";		echo $xml;	}	public static  function xmlToEncode($result) {		$xml = $attr = '';		foreach($result as $key => $value) {                    //判断键值对,如果是数字键值不允许			if(is_numeric($key)) {				$attr = " id='" . $key . "'";				$key = "item";			}			$xml .= "<{$key}{$attr}>";                        //以递归形式返回,主要是因为数组在xml中显示是array,必须显示出来具体键值对			$xml .= is_array($value) ? self::xmlToEncode($value) : $value;			$xml .= "\n";		}		return $xml;	}}

以json格式返回数据:

输出通信数据*/class Json extends Api {	public function response($code, $message = '', $data = array()) {		if(!(is_numeric($code))) {			return '';		}		$result = array(			'code' => $code,			'message' => $message,			'data' => $data		);		echo json_encode($result);		exit;	}}

也可以采用这种方式组装返回数据:

输出通信数据	* @param integer $code 状态码	* @param string $message 提示信息	* @param array $data 数据	* @param string $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::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 = "\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 .= "<{$key}{$attr}>"; $xml .= is_array($value) ? self::xmlToEncode($value) : $value; $xml .= "\n"; } return $xml; }}

人气教程排行