標籤(空格分隔): php 手機後台 api 通訊介面 andy
php是世界上最強大的語言。php開發手機api時,一般返回xml或json資料型別的資料,除了要返回從源資料(程式本身需要的資料)外還應附上狀態碼,以下是一段封裝後的資料,它使用json格式展現:
,
]}
以下是xml格式資料的例項:
此外,為了方便手機端開發人員的除錯,還可直接返回帶資料型別的資料:200
success安明哲12345610
62015-09-26 08:25:3110
張三1234510
80000-00-00 00:00:0010
array(3)
[1]=>
array(8)
}}
當手機客戶端通過api獲取資料時,php指令碼會response
乙個陣列,並對這個陣列進行encode
,他們分別是json
,xml
和array
;該陣列,定義如下:
$result = [
"code" => 200,
"message" => "資料返回成功",
"data" => ["key"=>"value", "key"=>"value"]
]
其中,code
代表狀態碼,message
代表狀態資訊,data
是程式邏輯中需要的資料。
當手機端呼叫api,程式業務邏輯處理完成之後,需要返回資料,此時需要對通訊資料進行封裝,封裝的三種型別由可由request
裡的format
引數指定,當formart=json
時執行response_json
方法,同理,還有response_xml
和response_array
方法;
為了方便呼叫,編寫乙個response
類來封裝資料並完成response
工作:
/*本段**沒有經過實際環境測試,也沒有嚴謹的引數檢查*/
class response
}public static function response_json($code, $message='', $data=array())
public static function response_xml($code, $message='', $data=array())
private function xml_encode($arr=array())'";
}$xml .= "<>";
$xml .= (is_array($value))?self::xml_encode($value):$value;
$xml .= "";
}return $xml;
}private function grant_array($code, $message='', $data=array());
return $result;
}}
response類實現了通訊介面的資料封裝,可根據response
內指定的format靈活的寫入不同格式的資料到response。
付:完整**及呼叫例項:
<?php
class response}/*
* 封裝數為為json資料型別
* @param integer $code 狀態碼
* @param string $message 狀態資訊
* @param array $data 資料
* return string
*/public static function json_response($code,
$message='', $data=array())
/** 封裝數為為xml資料型別
* @param integer $code 狀態碼
* @param string $message 狀態資訊
* @param array $data 資料
* return string
*/public static function xml_response($code,
$message='', $data=array())
/** 將陣列轉換為xml格式
* @param array $array 陣列
* return string
*/private function xml_encode($array=array())'";
$key = "item";
}$xml .= "<>" ;
$xml .= is_array($value) ? self::xml_encode($value) : $value;
$xml .="\n";}}
return $xml;}/*
* 按照介面格式生成原資料陣列
* @param integer $code 狀態碼
* @param string $message 狀態資訊
* @param array $data 資料
* return array
*/private function grant_array($code, $message='', $data=array())
$result = array(
'code' => $code,
'message' => $message,
'data' => $data
);return $result;
}}
呼叫例項:
<?php
require_once "./databaseutil.class.php";
require_once "./response.class.php";
$connect = databaseutil::getinstance()->connect();
/** 首頁介面
棲息地 閱讀(
...)
編輯收藏
用PHP編寫乙個APP的API
標籤 空格分隔 php 手機後台 api 通訊介面 andy php是世界上最強大的語言。php開發手機api時,一般返回xml或json資料型別的資料,除了要返回從源資料 程式本身需要的資料 外還應附上狀態碼,以下是一段封裝後的資料,它使用json格式展現 以下是xml格式資料的例項 200suc...
用php做乙個分頁,用php做的乙個分頁小程式
require mysql conn.conf 以下統計資料庫中的最早和最新記錄時間 以下統計資料的最早時間 query begintime select mydate,mytime from temprature order by sn asc result begintime mysql que...
用AJAX編寫乙個簡單的相簿
xml問題終於在今天還是解決了。最後在firefox裡還是使用了dom的一些老方法。我這裡就具體解釋一下方法吧.var xmlhttp 用來定義乙個xmlhttprequest物件 上面這段話是判斷當前瀏覽器版本,以定義給xmlhttp不同的xmlhttprequest物件.如果伺服器的響應沒有xm...