PHP开发APP接口

课程地址

imooc PHP开发APP接口

学习要点

  1. APP接口简介
  2. 封装通信接口方法
  3. 核心技术
  4. 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接口》笔记的更多相关文章

  1. HTML+CSS笔记 CSS笔记集合

    HTML+CSS笔记 表格,超链接,图片,表单 涉及内容:表格,超链接,图片,表单 HTML+CSS笔记 CSS入门 涉及内容:简介,优势,语法说明,代码注释,CSS样式位置,不同样式优先级,选择器, ...

  2. CSS笔记--选择器

    CSS笔记--选择器 mate的使用 <meta charset="UTF-8"> <title>Document</title> <me ...

  3. HTML+CSS笔记 CSS中级 一些小技巧

    水平居中 行内元素的水平居中 </a></li> <li><a href="#">2</a></li> &l ...

  4. HTML+CSS笔记 CSS中级 颜色&长度值

    颜色值 在网页中的颜色设置是非常重要,有字体颜色(color).背景颜色(background-color).边框颜色(border)等,设置颜色的方法也有很多种: 1.英文命令颜色 语法: p{co ...

  5. HTML+CSS笔记 CSS中级 缩写入门

    盒子模型代码简写 回忆盒模型时外边距(margin).内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左. 语法: margin:10px 15p ...

  6. HTML+CSS笔记 CSS进阶再续

    CSS的布局模型 清楚了CSS 盒模型的基本概念. 盒模型类型, 我们就可以深入探讨网页布局的基本模型了.布局模型与盒模型一样都是 CSS 最基本. 最核心的概念. 但布局模型是建立在盒模型基础之上, ...

  7. HTML+CSS笔记 CSS进阶续集

    元素分类 在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素.内联元素(又叫行内元素)和内联块状元素. 常用的块状元素有: <div>.<p>.<h1&g ...

  8. HTML+CSS笔记 CSS进阶

    文字排版 字体 我们可以使用css样式为网页中的文字设置字体.字号.颜色等样式属性. 语法: body{font-family:"宋体";} 这里注意不要设置不常用的字体,因为如果 ...

  9. HTML+CSS笔记 CSS入门续集

    继承 CSS的某些样式是具有继承性的,那么什么是继承呢?继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代(标签). 语法: p{color:red;} <p> ...

  10. HTML+CSS笔记 CSS入门

    简介: </span>年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的<span>脚本解释程序</span>,作为ABC语言的一种继承. & ...

随机推荐

  1. Scalaz(9)- typeclass:checking instance abiding the laws

    在前几篇关于Functor和Applilcative typeclass的讨论中我们自定义了一个类型Configure,Configure类型的定义是这样的: case class Configure ...

  2. 树链剖分求LCA

    树链剖分中各种数组的作用: siz[]数组,用来保存以x为根的子树节点个数 top[]数组,用来保存当前节点的所在链的顶端节点 son[]数组,用来保存重儿子 dep[]数组,用来保存当前节点的深度 ...

  3. CGI与Servlet的比较

    转自:http://www.maxhis.info/java/cgi-vs-servlet/ 谢! 概括来说,CGI和Servlet可以完成相同的功能. 一:CGI(Common Gateway In ...

  4. CentOS 6.5下Redis安装详细步骤

    Redis简介: Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工 ...

  5. Webform(文件上传)

    1.HTML编码: <input type="file" /> 2.控件:FileUpload 它是用来选择要上传的文件,还需要一个按钮来将选中的文件上传到服务器上 s ...

  6. 2014年3月新鲜出炉的最佳 JavaScript 工具库

    一个 JavaScript 库是预先编写的 JavaScript 程序,用于简化 Web 应用程序开发,特别是对 Ajax 和其它 Web 为中心的技术.JavaScript 提供了多种方法,通过它来 ...

  7. Mysql一些复杂的语句

    1.查找重复的行 SELECT * FROM blog_user_relation a WHERE (a.account_instance_id,a.follow_account_instance_i ...

  8. AloneJs.msgbox() —— 弹出消息框

    一.引用 <link href="https://cdn.suziyun.com/alonejs.min.css" rel="stylesheet" /& ...

  9. 渗透测试常规思路分析-FREEBUF

    最基础但练得好最后也非常厉害 1.  主要由于服务器配置等原因造成的信息泄露 常用google ,bing等搜索工具,轻量级的搜索出一些遗留后门,不想被发现的后台入口,中量级的搜索出一些用户信息泄露, ...

  10. 在Android Stuido中使用Lint

    要运行Lint工具,大家首先需要在Android Studio的“Analyze”菜单中选择“Inspect Code…”.当Android Studio完成了对项目的检测之后,它会在窗口底部显示出分 ...