1. 復習
前回の記事では、mysql をカプセル化するインスタンス化されたオブジェクト クラスについて学びました。
2. この記事では、json データと xml データを生成するアプリ インターフェイス クラスをカプセル化します
3.1 xml と json の違い
xml: 拡張タグ言語: データをマークしてデータ型を定義できます。 json: データを生成するのが簡単で、転送速度が速いです
3.3 通信データ標準形式
ステータスコード: コード プロンプト情報: メッセージ
オフ
3.4 スケジュールされたタスクとキャッシュ (ここではカプセル化されていません)
キャッシュ: 静的キャッシュ、Memcache および Redis キャッシュ テクノロジi タイミングタスク: Corntab
4. パッケージ化
4.1 JSON パッケージ化
JSON メソッドのパッケージング インターフェース データ メソッド function json_encode () 4.2 xml のカプセル化
紐の組み立て(簡単) )
4.3 実装クラス
<?php //header("Content-type:text/html;charset=utf-8"); class Response{ const JSON='json'; /** * 01.综合通信入口 * @param int $code * @param string $msg * @param array $data * @param string $type */ public static function show($code,$msg='',$data=array()){ if(!is_numeric($code)){ return ''; } //如果url上传参了,去参数的类型,否则取得默认值! $type=isset($_GET['type'])?$_GET['type']:self::JSON; $result=array( 'code'=>$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 version='1.0' encoding='UTF-8'?>"; $xml.="<root>"; $xml.=self::xmlToEncode($result); $xml.="</root>"; 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.="</{$key}>"; } return $xml; } } ?>
4.4 呼び出し
URL、表示を通じて実装 データ型は、xml、json、array にすることができます
http://localhost:8081/appInterface/test.php?type=json
Test.php は次のように実装されます5. 前の記事に基づいて、mysql データベース実装に接続します: データのカプセル化
require_once 'appUtil.php';
6. appUtil.php をダウンロードします。
著作権表示: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく転載することはできません。
上記では、関連するコンテンツを含む php-app インターフェイスの実装 (json および xml) を紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。