1.回顧
上篇學習了封裝mysql的執行個體化對象類!
2.這篇將封裝一個app介面類,用來產生 json資料和xml資料
3.瞭解和掌握
3.1 xml和json的區別
xml:擴充標記語言:可以標記資料 ,定義資料類型;資料格式清晰明了, 可讀性高;
json:一種輕量級的資料交換格式;產生資料簡單;傳輸速度快;
3.2 app介面與資料
擷取資料:從資料庫中或者緩衝中擷取資料(可以是緩衝裡的資料)
提交資料:通過get方式或者post方式提交資料,服務端處理後,返回資料
3.3 通訊資料標準格式
狀態代碼:code
提示資訊:message
返回資料: data
3.4 定時任務和緩衝 (這裡不封裝)
緩衝 :靜態緩衝 , Memcache 和 Redis 緩衝技術
定時任務 :corntab
4.封裝
4.1 json封裝
json方式封裝介面資料方法
函數json_encode();
只接收utf-8的編碼資料
4.2 xml封裝
組裝字串 (簡單)
使用系統的方法
4.3 實作類別
$code,'msg'=>$msg,'data'=>$data);if($type=='json'){self::jsonEncode($code,$msg,$data);exit();}elseif ($type=='xml'){self::xmlEncode($code,$msg,$data);exit();}elseif ($type='array'){var_dump($result);exit();}}/** * 02.按json方式輸出 通訊資料 * @param int $code 狀態代碼 * @param string $msg 提示資訊 * @param array $data 資料 * retrun string */public static function jsonEncode($code,$msg='',$data=array()) {header("Content-Type:text/json");#判斷狀態代碼if(!is_numeric($code)){return '';}$result=array('code'=>$code, 'msg'=>$msg,'data'=>$data);echo json_encode($result);exit();} /** * 03.封裝xml 輸出通訊資料 * @param unknown $code * @param unknown $msg * @param unknown $data */public static function xmlEncode($code,$msg='',$data=array()){if(!is_numeric($code)){ return '';}$result=array('code'=>$code,'msg'=>$msg,'data'=>$data);header("Content-Type:text/xml");$xml="";$xml.="";$xml.=self::xmlToEncode($result);$xml.="";echo $xml;exit();}/** *04. 拼裝 xml資料 * @param array $data * @return string * 使用遞迴,判斷是不是數組,是數組繼續調用迴圈 * xml的 節點不能為 數字,用item代替 */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.="";}return $xml;}}?>
4.4 調用
通過url實現 ,顯示資料類型 type可以為 xml ,json ,array !
http://localhost:8081/appInterface/test.php?type=json
test.php 實現如下:
require_once 'appUtil.php';
$arr=array('id'=>1,'name'=>'yuan','age'=>23,'location'=>'hpu');$arr1=array(1,4,5,2,6,3);Response::jsonEncode(200,'success',$arr);
5.綜合 上篇串連mysql資料庫 實現:資料封裝
//調用$con=Db::getInstance()->connect();//查詢語句$sql='select * from user_info';//執行,返回結果集$result=mysql_query($sql,$con);//添加的新數組$arr3=array();while ($row=mysql_fetch_row($result)){array_push($arr3,$row);}Response::show('200','success',$arr3);
6. appUtil.php下載
http://download.csdn.net/detail/lablenet/8995987
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
以上就介紹了php-app介面實現(json和xml),包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。