用PHP編寫乙個APP的API

2021-09-11 05:35:08 字數 3758 閱讀 4068

標籤(空格分隔): php 手機後台 api 通訊介面 andy

php是世界上最強大的語言。

php開發手機api時,一般返回xml或json資料型別的資料,除了要返回從源資料(程式本身需要的資料)外還應附上狀態碼,以下是一段封裝後的資料,它使用json格式展現:

,

]}

以下是xml格式資料的例項:

200success

安明哲12345610

62015-09-26 08:25:3110

張三1234510

80000-00-00 00:00:0010

此外,為了方便手機端開發人員的除錯,還可直接返回帶資料型別的資料:

array(3) 

[1]=>

array(8)

}}

當手機客戶端通過api獲取資料時,php指令碼會response乙個陣列,並對這個陣列進行encode,他們分別是json,xmlarray;該陣列,定義如下:

$result = [

"code" => 200,

"message" => "資料返回成功",

"data" => ["key"=>"value", "key"=>"value"]

]

其中,code代表狀態碼,message代表狀態資訊,data是程式邏輯中需要的資料。

當手機端呼叫api,程式業務邏輯處理完成之後,需要返回資料,此時需要對通訊資料進行封裝,封裝的三種型別由可由request裡的format引數指定,當formart=json時執行response_json方法,同理,還有response_xmlresponse_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...