PHP開発アプリのインターフェース

WBOY
リリース: 2016-06-23 13:27:07
オリジナル
1125 人が閲覧しました

インターフェイス キーワードを使用して定義します。例:

interface video(){

public function getVideos();

public function getCount();//これらはすべて仮想メソッドです

}

インターフェイスの実装: [インターフェースで指定されたすべてのメソッドはサンプルで実装する必要があります]

class movie 実装 video{

public function getVideo(){

//do something

}

public function getCount(){

//何かをする

}

}

インターフェイス アドレス??インターフェイス データを返す??データを解析する??クライアント

APP (通信) インターフェイス:

1. インターフェイス アドレス (http://app.com/api.php) ?format=xml);

2. インターフェース ファイル (api.php、一部のビジネス ロジックを処理します);

3. インターフェース データ

APP の通信方法:

クライアント アプリ トリガー??》http リクエストを送信します (インターフェースアドレス)??》サーバー??》クライアントに戻ります

返されるデータ形式は一般的にxmlまたはjsonです

アドレスはアプリ内でカプセル化されており、一般的なWebとは異なりユーザーには見えません

XML : 拡張マークアップ言語、ノードはカスタマイズ可能 (ただし、HTML 内のタグはカスタマイズ不可)、形式は統一されており、プラットフォーム間で使用でき、通信と送信に適しています。

例:

singwa

singwa1

beijing

XML は可読性が高く、JSON 生成データと送信速度は強力です。

インターフェース機能: データの取得とデータの送信。

通信インターフェースをカプセル化するための JSON メソッド: json_encode() [UTF にある必要があります-8 形式]

例:

$arr = {

'id' => 1;

'username => トム'

}

echo json_encode($arr);

iconv('UTF-8',' GBK ',$data)//エンコード変換に使用し、$dataをUTF-8からGBKに変換する例です

通信データ標準形式

1, code: 200 //ステータスコード

2, message / /プロンプト情報

3, data //データを返す

JSON カプセル化データメソッドの例 (response.php):

class Respomse{

public static function json($code,$message = ' ' ,$data = array()){

if(!is_numeric($code)){

return '';//渡された$codeが数値でない場合は空を返す

}

$result = array (

'code' => $code,

'message' =>

}

}

他のファイルでこのインターフェースを呼び出します:

require_once('./response.php') ;

$arr = array(

'id' => 1,

'name' => 'fareise'

);

Response::json(200,'データは正常に返されました','$ arr');//これは json データを返します

XML カプセル化インターフェース データ メソッド

XML データを生成する PHP メソッド

1. 文字列にアセンブルします。 2. 使用するシステム クラス (DomDocument; XMLWriter; SimpleXML)

例:

< ;?php

class Response{

public static function xml(){

header(“Content-Type:text/xml”);//型を XML 型に変換します

$xml = “n”

$xml.=”n”;

$ xml.=”200n”;

$xml.=”200n”;

$xml.=” ”;

echo $xml;

}

}

通信インターフェースのXMLカプセル化

class Response{

public static function xmlEncode($code,$message,$data){

if(!is_numeric($code)) {

return '';

}

$result = array(

'code' => $code,

'message' => $message,

'data' => $data,

);

header("Content-Type:text/xml");

$xml = ""

$xml . = "";

$xml .= self::xmlToEncode($result) //定義されたメソッドを通じてデータの xm 解析を実行する

$xml .= “”;

}

publlc static function amlToEncode($ data ){ // このような走査を通じて各データをラベルとして書き込みます

$xml = $attr = “”;

foreach($data as $key => $value){// key が数値の場合に変換します

if(is_numeric($key)){

$attr = "id = '{$key}'";

$key = "item ";

}

$xml .= “<{$key}{$attr}>”;

//配列の場合は、再帰的メソッドを使用して、配列内の各要素をラベル付きで出力します

$xml . = is_array($value)?self::xmlToEncode($value):$value;

$xml .= “

}

}

}

呼び出し例:

$data = array(

'id' => 1,

'name' => farise

'type => array(4,5,6)'

)

Response: ; '//デフォルト値を設定します

public static function show($code,$message = '',$data = array(),$type=self::JSON){

if(! is_numeric($code)) {

return '';

}

$type = $_GET['format']?$_GET['format']:self""JSON;

$result = array(

)

'コード' => $コード,

'メッセージ' => $メッセージ,

'データ' => $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

}

}

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート