[TOC]
通过在慕课网[PHP开发APP接口](http://www.imooc.com/learn/163),记录以下笔记。
PHP 面向对象接口定义
```
// 是一个抽象类,interface定义一个接口后,被其他类implements后实现
/**
* 定义一个接口
* 提供一个标准
*/
interface video {
public function getVideos();
public function getCount();
}
// implements是一个类实现一个接口用的关键字,它是用来实现接口中定义的抽象方法。
class movie implements video {
// 实现一个接口,必须实现接口中的所有方法。
public function getVideos() {
echo '1';
}
public function getCount() {
echo '2';
}
}
movie::getVideos();
```
##1)APP接口介绍(通信接口)
APP请求流程:
客户端 -> 请求APP地址(接口地址)-> 返回接口数据 -> 解析数据 -> 客户端
APP(通信)接口定义
1. 接口地址:(http://app.com/api.php?format=xml)
2. 接口文件:(api.PHP 处理一些业务逻辑)
3. 接口数据
##2)客户端APP通信
```
APP如何通讯:
```
1. 客户端APP(Client)发送http请求到服务器(Server);
2. 服务器(Server)处理后返回数据给客户端APP(Client);
3. 数据一般为XML或者JSON格式的数据;
```
APP通信与B/S架构相当类似,但也有区别。
APP与PC端区别:
```
1. APP请求地址被封装在APP里所以不可见;
2. PC端返回一般是HTML格式数据,APP返回是XML或JASON格式数据.
##3)客户端APP通信格式区别
xml:
扩展标记语言(Extensible Markup Language,XML),可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。xml格式统一,跨平台 特点:
1. 非常适合通信和传输
2. 可自定义节点
3. 有唯一根节点
4. 标签要有结束(两种形式)
json:
数据形式(JavaScript object notation) 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。可在不同平台之间进行数据交换。JSON采用兼容性很高的,完全独立于语言文本格式。这些特性使JSON成为理想的数据交换语言
xml和json数据的区别
1.可读性:xml比json要强可读性高
2.生成数据方式:通过php代码生成时,生成json数据的方式更简单 json_encode();
3.传输速度:json比xml快
##4)APP接口做的操作
操作
获取数据 从数据库中或缓存中获取数据,然后通过接口数据返回给客户端
提交数据 通过接口提交数据给服务器,然后服务器入库处理,或者其他处理
常用接口:
1)提交和获取数据
更新(需要服务器端处理版本信息接口):
web:把最新代码放到服务器;
app:到远程服务器下载最新APP到手机本地,替换掉旧的APP;
2)获取数据;
3)提交数据;