《PHP开发APP接口》笔记
PHP开发APP接口
课程地址
学习要点
- APP接口简介
- 封装通信接口方法
- 核心技术
- APP接口实例
服务器端 -> 数据库|缓存 -> 调用接口 -> 客户端
APP接口简介
- APP接口介绍
- APP如何进行通信
- 通信格式区别
- APP接口做的哪些事儿
APP接口介绍
概念
PHP面向对象的接口(interface)与APP中的接口(API)概念区别:
interface是一种特殊的抽象类,只定义一系列抽象方法。
// 定义一个接口
interface test {
public function getTest1(); // 抽象方法
public function getTest2();
}
// 定义一个类实现接口
class demo implements test {
public function getTest1()
{
echo 1;
}
public function getTest2()
{
echo 2;
}
}
APP接口,也叫通信接口,它必须满足三个条件:
- 接口地址
- 接口文件(处理某些业务逻辑)
- 接口数据
客户端:发送APP地址(接口地址)请求
接口地址:返回 JSON|XML格式数据
客户端:解析数据
客户端:填充内容
APP如何进行通信
APP的通信模式非常类似于浏览器与服务器(B/S)间的通信模式(个人感觉更类似于Ajax的通信模式)。
通信格式区别
APP通信格式主要为XML与JSON格式。
XML定义
拓展标记语言(Extensible Markup Language, XML),主要用于标记数据、定义数据类型,是一种允许用户自定义节点的源语言。由于跨平台与跨语言的特性,XML非常适于传输和通信。
(XHTML是XML的一种应用,也是是HTML的一个子集)。
JSON定义
JSON(JavaScript Object Notation)一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。可在不同平台之间进行数据交换。JSON采用兼容性很高的、完全独立于语言语言文本格式。
两者的区别
- 可读性
- 生成数据
- 传输速度
// JSON数据格式生成方法
// 函数 json_decode()
// XML数据格式生成方法
// 1 字符串拼接
// 2 new DomDocument()
// 3 new XMLWriter()
// 4 new SimpleXml()
APP接口做的哪些事儿
获取数据
从数据库或缓存中获取数据,然后通过接口数据返回给客户端
提交数据
通过接口提交数据给服务器,然后服务器进行入库处理或其他处理操作
APP的常用接口
- 版本升级接口
- 获取数据接口
- 提交数据接口
未完待续...博客园的md格式真丑,丢个evernote的公开链接
《PHP开发APP接口》笔记的更多相关文章
- HTML+CSS笔记 CSS笔记集合
HTML+CSS笔记 表格,超链接,图片,表单 涉及内容:表格,超链接,图片,表单 HTML+CSS笔记 CSS入门 涉及内容:简介,优势,语法说明,代码注释,CSS样式位置,不同样式优先级,选择器, ...
- CSS笔记--选择器
CSS笔记--选择器 mate的使用 <meta charset="UTF-8"> <title>Document</title> <me ...
- HTML+CSS笔记 CSS中级 一些小技巧
水平居中 行内元素的水平居中 </a></li> <li><a href="#">2</a></li> &l ...
- HTML+CSS笔记 CSS中级 颜色&长度值
颜色值 在网页中的颜色设置是非常重要,有字体颜色(color).背景颜色(background-color).边框颜色(border)等,设置颜色的方法也有很多种: 1.英文命令颜色 语法: p{co ...
- HTML+CSS笔记 CSS中级 缩写入门
盒子模型代码简写 回忆盒模型时外边距(margin).内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左. 语法: margin:10px 15p ...
- HTML+CSS笔记 CSS进阶再续
CSS的布局模型 清楚了CSS 盒模型的基本概念. 盒模型类型, 我们就可以深入探讨网页布局的基本模型了.布局模型与盒模型一样都是 CSS 最基本. 最核心的概念. 但布局模型是建立在盒模型基础之上, ...
- HTML+CSS笔记 CSS进阶续集
元素分类 在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素.内联元素(又叫行内元素)和内联块状元素. 常用的块状元素有: <div>.<p>.<h1&g ...
- HTML+CSS笔记 CSS进阶
文字排版 字体 我们可以使用css样式为网页中的文字设置字体.字号.颜色等样式属性. 语法: body{font-family:"宋体";} 这里注意不要设置不常用的字体,因为如果 ...
- HTML+CSS笔记 CSS入门续集
继承 CSS的某些样式是具有继承性的,那么什么是继承呢?继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代(标签). 语法: p{color:red;} <p> ...
- HTML+CSS笔记 CSS入门
简介: </span>年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的<span>脚本解释程序</span>,作为ABC语言的一种继承. & ...
随机推荐
- Scalaz(9)- typeclass:checking instance abiding the laws
在前几篇关于Functor和Applilcative typeclass的讨论中我们自定义了一个类型Configure,Configure类型的定义是这样的: case class Configure ...
- 树链剖分求LCA
树链剖分中各种数组的作用: siz[]数组,用来保存以x为根的子树节点个数 top[]数组,用来保存当前节点的所在链的顶端节点 son[]数组,用来保存重儿子 dep[]数组,用来保存当前节点的深度 ...
- CGI与Servlet的比较
转自:http://www.maxhis.info/java/cgi-vs-servlet/ 谢! 概括来说,CGI和Servlet可以完成相同的功能. 一:CGI(Common Gateway In ...
- CentOS 6.5下Redis安装详细步骤
Redis简介: Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工 ...
- Webform(文件上传)
1.HTML编码: <input type="file" /> 2.控件:FileUpload 它是用来选择要上传的文件,还需要一个按钮来将选中的文件上传到服务器上 s ...
- 2014年3月新鲜出炉的最佳 JavaScript 工具库
一个 JavaScript 库是预先编写的 JavaScript 程序,用于简化 Web 应用程序开发,特别是对 Ajax 和其它 Web 为中心的技术.JavaScript 提供了多种方法,通过它来 ...
- Mysql一些复杂的语句
1.查找重复的行 SELECT * FROM blog_user_relation a WHERE (a.account_instance_id,a.follow_account_instance_i ...
- AloneJs.msgbox() —— 弹出消息框
一.引用 <link href="https://cdn.suziyun.com/alonejs.min.css" rel="stylesheet" /& ...
- 渗透测试常规思路分析-FREEBUF
最基础但练得好最后也非常厉害 1. 主要由于服务器配置等原因造成的信息泄露 常用google ,bing等搜索工具,轻量级的搜索出一些遗留后门,不想被发现的后台入口,中量级的搜索出一些用户信息泄露, ...
- 在Android Stuido中使用Lint
要运行Lint工具,大家首先需要在Android Studio的“Analyze”菜单中选择“Inspect Code…”.当Android Studio完成了对项目的检测之后,它会在窗口底部显示出分 ...