1. 리뷰
이전 글에서는 mysql을 캡슐화하는 객체 클래스에 대해 알아보았습니다!
2. 이 글에서는 json 데이터와 xml 데이터를 생성하는 앱 인터페이스 클래스를 캡슐화합니다.
3. 이해하고 숙달하세요. 🎜>
3.1 xml과 json의 차이점xml: 확장 마크업 언어: 데이터를 표시하고 데이터 유형을 정의할 수 있으며 데이터 형식이 명확하고 읽기 쉽습니다.
json: 간단한 데이터 교환 형식, 빠른 전송,
데이터 가져오기: 데이터베이스 또는 캐시에서 데이터를 가져옵니다(캐시에 있는 데이터일 수 있음)
데이터 제출: GET 또는 POST 메서드를 통해 데이터를 제출합니다. >
팁 정보: 메시지 반환 데이터: 데이터
3.4 예약된 작업 및 캐시(여기에는 캡슐화되지 않음)
캐시: 정적 캐시, Memcache 및 Redis 캐싱 기술
예약 작업: corntab
4. 캡슐화
4.1 json 캡슐화
~ 4.2 xml 패키징
시스템 사용 방법
4.3 구현 클래스
4.4 호출
url을 통해 구현 , 표시 데이터 유형은 xml, json, 배열이 될 수 있습니다!
test.php는 다음과 같이 구현됩니다.
<?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; } } ?>
5. 이전 글의 mysql 데이터베이스 연결 종합 구현: 데이터 캡슐화
6. appUtil.php 다운로드
http://localhost:8081/appInterface/test.php?type=json
http://download.csdn.net/detail/lablenet/ 8995987
require_once 'appUtil.php';
$arr=array( 'id'=>1, 'name'=>'yuan', 'age'=>23, 'location'=>'hpu' ); $arr1=array(1,4,5,2,6,3); Response::jsonEncode(200,'success',$arr);
위 내용은 관련 내용을 포함하여 php-app 인터페이스 구현(json 및 xml)을 소개한 내용이므로 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.