跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

php开发app接口

用interface关键字定义,示例: interface video(){ public function getVideos(); public function getCount();//这都是虚拟的方法 } 立即学习 “ PHP免费学习笔记(深入) ”; 接口的实现:【接口中给的所有方法都必须在示例中实现】 class movie implements video{ public function getVideo(){ //do something } 立即学习 “ PHP免费学习笔记(深入) ”; public function getCount(){ //do something } 立即学习 “ PHP免费学习笔记(深入) ”; } 立即学习 “ PHP免费学习笔记(深入) ”; 接口地址??返回接口数据??解析数据??客户端 APP(通信)接口: 1、接口地址(http://app.com/api.php?format=xml); 2、接口文件(api.php,处理一些业务逻辑); 3、接口数据 APP如何进行通信: 客户端App触发??》发送http请求(接口地址)??》服务器??》返回客户端 返回的数据格式一般为xml或者json 地址被封装在app里面用户不可见,与一般的web不同 XML:扩展标记语言,节点可以自定义(而HTML内标签是不可自定义的),格式统一,可跨平台使用,适合通信和传输。 示例: xml version=”1.0” encoding=”UTF-8”? singwa singwa1 beijing XML可读性强;JSON生成数据方面、传输速度方面强。 接口作用:获取数据、提交数据。 封装通信接口数据方法 JSON方式封装通信接口:json_encode()【必须是UTF-8的形式】 示例: php

 1; ‘username => Tom’ } 立即学习 “ PHP免费学习笔记(深入) ”; echo json_encode($arr); iconv(‘UTF-8’,’GBK’,$data)//用于进行编码转化,本例将$data由UTF-8转化为GBK 通信数据标准格式 1、code:200   //状态码 2、message    //提示信息 3、data       //返回数据 JSON封装数据方法示例(response.php): php

 $code, ‘message’ => $message, ‘data’ => $data ); echo json_encode($result); exit; } 立即学习 “ PHP免费学习笔记(深入) ”; } 立即学习 “ PHP免费学习笔记(深入) ”; 在其他文件调用这个接口: php

 1, ‘name’ => ‘fareise’ ); Response::json(200,’数据返回成功’,’$arr’);//这样就会返回一个json数据 XML方式封装接口数据方法 PHP生成XML数据的方法 1、组装成字符串 2、使用系统类(DomDocument;XMLWriter;SimpleXML) 示例: php

200
\n”; $xml.=” 200 \n”; ...... $xml.=””; echo $xml; } 立即学习 “ PHP免费学习笔记(深入) ”; } 立即学习 “ PHP免费学习笔记(深入) ”; XML方式封装通信接口 php

 $code, ‘message’ => $message, ‘data’ => $data, ); header(“Content-Type:text/xml”); $xml = “ xml version = ‘1.0’ encoding = ‘UTF-8’? ” $xml .= “ ”; $xml .= self::xmlToEncode($result)   //通过定义的这个方法对数据进行xm解析 $xml .= “”; } 立即学习 “ PHP免费学习笔记(深入) ”; publlc static function amlToEncode($data){  // 通过这样的遍历将每一条数据写成标签 $xml = $attr = “”; foreach($data as $key => $value){//如果key是数字则转化为 的形式 if(is_numeric($key)){ $attr = “id = ‘{$key}’”; $key = “item”; } 立即学习 “ PHP免费学习笔记(深入) ”; $xml .= “”; //如果是数组,采用递归的方式把数组内每一个元素都用标签输出 $xml .= is_array($value)?self::xmlToEncode($value):$value; $xml .= “{key}>” } 立即学习 “ PHP免费学习笔记(深入) ”; } 立即学习 “ PHP免费学习笔记(深入) ”; } 立即学习 “ PHP免费学习笔记(深入) ”; 调用示例: $data = array( ‘id’ => 1, ‘name’ => fareise ‘type => array(4,5,6)’ ) Response::xmlEncode(200,’sucess’,$data); 综合通信封装方法(两种都支持) 在前两个方法都写好的基础上: const JSON = ‘json’//设定默认值 public static function show($code,$message = ‘’,$data = array(),$type=self::JSON){ if(!is_numeric($code)){ return ‘’; } 立即学习 “ PHP免费学习笔记(深入) ”; $type = $_GET[‘format’]?$_GET[‘format’]:self””JSON; $result = array( ‘code’ => $code, ‘message’ => $message, ‘data’ => $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免费学习笔记(深入) ”; } 立即学习 “ PHP免费学习笔记(深入) ”;

相关文章