インタフェースプローブ
11485 ワード
引用:会社はiOSアプリケーションを作っているので、多くのデータが必要です.データは一般にインタフェースによって提供される.
ここのインタフェースはjavaのインタフェース、またはPHPのインタフェースではありません.インタフェースはマクロ的に大きく、内容が多く、usbはインタフェースであり、コンセントはインタフェースである.言語ではjavaのInterfaceがインタフェースです.
データ転送を提供することも、インタフェースの一種です.
インタフェースの作成は、一定の基準に合致し、規範化し、テストしなければならない.
一般的にjsonのフォーマットでデータが伝達されます.
コードケース:
1.テストデータの提出
post方式で、申請情報をサーバに提出し、一般的にjsonのデータである.
例えば、{"reqCode":"bag 00090","data":{"class_id":"7"}}
これがjson形式のデータですbag 00090、情報、class_id
2.バックグラウンドはデータを受け取り、データを抽出します.
jsonデータを配列情報に解析します.
3.パラメータ解析
パラメータはいずれもdataにあり,パラメータをブラウザで認識できるパラメータに解析する.
4.該当するアクションにジャンプし、動作を実行する
さっきのbag 00090はapiの下のlessonsコントローラのsocketbystuloginメソッドにジャンプし、対応する動作を実行します.
5.
json暗号化を行います.その後iOSスタッフに渡して使用します.
まとめ:
これは簡単なインタフェースの流れで、インタフェースを書くには、一定の規範が必要です.はっきり言って、それは1種の思想で、それから言語を通じてこのような思想を実現します.
カスタマーサービス側は、サーバーにアクセスし、一定のパラメータを提供し、対応する情報を取得することができます.このような過程です.
作成するときは、彼らが提供したパラメータに基づいて、彼らが望んでいる情報を正確に取得できればいい.
ここのインタフェースはjavaのインタフェース、またはPHPのインタフェースではありません.インタフェースはマクロ的に大きく、内容が多く、usbはインタフェースであり、コンセントはインタフェースである.言語ではjavaのInterfaceがインタフェースです.
データ転送を提供することも、インタフェースの一種です.
インタフェースの作成は、一定の基準に合致し、規範化し、テストしなければならない.
一般的にjsonのフォーマットでデータが伝達されます.
コードケース:
1.テストデータの提出
<!DOCTYPE html>
<html>
<head><meta charset="utf-8"></head>
<body>
<form action="http://local.ebookbag_demo2.com/api/iphone" method="post" >
<input name="json" type="text" />
<input type="submit"/>
</form>
</body>
</html>
post方式で、申請情報をサーバに提出し、一般的にjsonのデータである.
例えば、{"reqCode":"bag 00090","data":{"class_id":"7"}}
これがjson形式のデータですbag 00090、情報、class_id
2.バックグラウンドはデータを受け取り、データを抽出します.
$json = $_POST;
//print_r(json_decode($json['json'],true));exit;
if (array_key_exists('json', $json)) {
$info = json_decode($json['json'], true);
} else {
echo " , !";
die();
}
jsonデータを配列情報に解析します.
3.パラメータ解析
//
$str = '';
if ($info["data"]) {
foreach ($info["data"] as $key => $val) {
$str.= "/" . $key . "/" . $val;
}
}
パラメータはいずれもdataにあり,パラメータをブラウザで認識できるパラメータに解析する.
4.該当するアクションにジャンプし、動作を実行する
// reqCode
switch ($info["reqCode"]) {
case 'bag00001':
// ( email、passwd) // version 1.1
// //{"reqCode":"bag00001","data":{"number":"201","passwd":"b","position":"3"}} // position 1 3
// {"redCode":"bag00001","status":"1","data":{"uid":"1"}}
$this->_redirect("/api/user/login" . $str . "/reqCode/" . $info["reqCode"]);
break;
.....
case 'bag00090':
// stocket class_id, ID
//{"reqCode":"bag00090","data":{"class_id":"7"}}
// {"reqCode":"bag00090","status":"1","data":{"lessons_id":"2949"}} {"reqCode":"bag00090","status":"2","data":"fail"}
$info = json_decode($json['json'], true);
$this->_forward('socketbystulogin', 'lessons', 'api', $info);
break;
さっきのbag 00090はapiの下のlessonsコントローラのsocketbystuloginメソッドにジャンプし、対応する動作を実行します.
5.
function socketbystuloginAction() {
$reqCode = $this->_getParam('reqCode');
$data = $this->_getParam('data');
$daoLessons = new dao_lessons();
//$time = time();// add by vinson 2013-04-23
$time = 1348703999;//
$where['lessons.class_id= ? '] = $data['class_id'];
$where['lessons.endtime >?'] = $time;
$order = " endtime ASC ";
//print_r($where);
$aLessons = $daoLessons->getlessons($where, $order, 1, 0, false, false, false, 0);
//print_r($aLessons);
if ($aLessons) {
/**
*
*/
$startime = $aLessons[0]['startime'];
$info['lessons_id'] = $aLessons[0]['id'];
if ($startime > $time) {//
$this->_red(array('reqCode' => $reqCode, 'status' => 0, 'data' => $info));
} else {//
$this->_red(array('reqCode' => $reqCode, 'status' => 1, 'data' => $info));
}
}
$this->_red(array('reqCode' => $reqCode, 'status' => 2, 'data' => 'fail'));
}
json暗号化を行います.その後iOSスタッフに渡して使用します.
まとめ:
これは簡単なインタフェースの流れで、インタフェースを書くには、一定の規範が必要です.はっきり言って、それは1種の思想で、それから言語を通じてこのような思想を実現します.
カスタマーサービス側は、サーバーにアクセスし、一定のパラメータを提供し、対応する情報を取得することができます.このような過程です.
作成するときは、彼らが提供したパラメータに基づいて、彼らが望んでいる情報を正確に取得できればいい.