习要点概述1.APP接口简介 2.封装通信接口方法 3.核心技术 4.APP接口实例

服务器和客户端进行接口数据通信:服务器 --》数据库|缓存 --》调用接口 --》客户端

服务器从数据库或缓存中获取数据,调用封装好的接口获取接口数据,生成客户端的数据。

一.APP接口简介

知识对比:php面向对象接口,是一个抽象类,定义必须有interface关键字。如下图:

用于多人协作开发,提供规范的方法名,interface 类中定义抽象方法,在其他类中实现,所有的抽象方法必须实现,否则会报错。

APP接口,也称通信接口,为app提供数据交互。工作原理,app页面加载时,会发出接口请求(http请求),接口进行处理返回接口数据,APP开发工程师解析接口数据(JSON和XML),呈现到客户端。(客户端开发人员需要接口地址和接口数据)

api通信接口通信过程。类似我们常见的BS架构的通信模式。

返回的数据格式:JSON和XML

XML定义:扩展标记语言(extensible markup language)可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML格式统一,跨平台和语言非,非常适合数据传输和通信。

注意:区别于HTML标签,xml的节点允许用户自定义。根节点只有一个,节点类似HTML的标签。要有开始节点和结束,类似HTML的双标签和单标签,节点不能为数字。

json定义:(javaScript Object Notation)一种轻量级的数据交互格式,具有良好的可读性和快速编写的特性。可在不同的平台进行数据交换,json采用兼容性很高的,完全独立于语言文本格式。这些特性是json成为 理想的数据交换语言。解析成数组key:value形式。客户端JavaScript可以简单的通过eval()进行JSON数据的读取。

XML数据和JSON数据对比

1.xml数据比json数据可读性强;

2.生成数据方面,json比xml更便利。json数据生成,使用函数json_encode();xml数据生成有4种方法,图示方法是字符串拼接形式生成的;

还有三种方法使用php内置的类:DomDocumen,XMLWriter,SimpleXML类.

3.传输速度json数据比xml数据快。

APP接口做了哪些事情?
1.从数据库或者缓存中获取数据,通过数据接口,返回给客户端。2.提交数据,通过接口提交数据给服务器,服务器处理。

二、封装通信接口数据的方法

1.用json方式封装通信数据

php生成json数据使用json_encode函数,代码如下

json_encode($arr);

该函数只能接受utf-8编码的数据,如传递其他编码的数据,该函数会返回null。编码转换函数iconv

iconv('原来编码格式','需要转换的格式','需要转换的数据')

<?php
/*
**json文件生成
*/
/*iconv函数可以将变量从一种编码格式转换为另一种*/ $arr = array(
'id' => 1,
'name' => 'Tom'
); echo json_encode($arr); ?>

通信数据的标准格式如下:

2.用XML方式封装通信数据

2.1 PHP生成XML数据的方式

2.2使用xmlEncode函数封装xml数据

PHP开发APP接口学习笔记的更多相关文章

  1. PHP 开发 APP 接口 学习笔记与总结 - Redis 缓存

    Redis 可以定期将数据备份到磁盘中(持久化),同时不仅仅支持简单的key/value 类型的数据,同时还提供list,set,hash等数据结构的存储:Memcache 只是简单的key/valu ...

  2. PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [5] 版本设计分析及数据表设计

    APP 版本升级以及 APP 演示 ① 版本升级分析以及数据表设计 ② 版本升级接口开发以及 APP 演示 /** * version_upgrade 版本升级信息表 */ CREATE TABLE ...

  3. PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [3] 首页 APP 接口开发方案 ② 读取缓存方式

    以静态缓存为例. 修改 file.php line:11 去掉 path 参数(方便),加上缓存时间参数: public function cacheData($k,$v = '',$cacheTim ...

  4. PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [7] APP 错误日志接口

    APP 上线以后可能遇到的问题: ① APP 强退 ② 数据加载失败 ③ APP 潜在问题 错误日志需要记录的内容 数据表 error_log 字段: id app_id:app 类别 id did: ...

  5. PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [6] 版本升级接口开发

    判定 app 是否需要加密:通过 app 表中的 status 字段来判定,加密的字符串为 app 表中的 key 字段. 在获取的客户端和服务器端(数据库表中相应字段)的版本号不一致时,返回 dat ...

  6. PHP 开发 APP 接口 学习笔记与总结 - JSON 结合 XML 方式封装通信接口

    要求: 1.在一个类中封装多种数据通信方法(JSON,XML),并且只通过一个入口选择需要的数据通信格式 2.客户端开发工程师可以自行选择数据传输格式(GET 方式) response.php < ...

  7. PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [4] 首页 APP 接口开发方案 ③ 定时读取缓存方式

    用于 linux 执行 crontab 命令生成缓存的文件 crop.php <?php //让crontab 定时执行的脚本程序 require_once 'db.php'; require_ ...

  8. PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [2] 首页 APP 接口开发方案 ① 读取数据库方式

    方案一:读取数据库方式 从数据库读取信息→封装→生成接口数据 应用场景: 数据时效性比较高的系统 方案二:读取缓存方式 从数据库获取信息(第一次设置缓存或缓存失效时)→封装(第一次设置缓存或缓存失效时 ...

  9. PHP 开发 APP 接口学习笔记与总结 - [ Linux ] 定时任务

    定时任务可以使用 crontab 命令来设定: crontab -e #编辑某个用户的cron 服务 crontab -l  #列出某个用户cron 服务的详细内容 crontab -r  #删除某个 ...

随机推荐

  1. maven-assembly-plugin的使用

    maven-assembly-plugin使用描述(拷自 maven-assembly-plugin 主页) The Assembly Plugin for Maven is primarily in ...

  2. ACM学习大纲

    1 推荐题库 •http://ace.delos.com/usaco/ 美国的OI 题库,如果是刚入门的新手,可以尝试先把它刷通,能够学到几乎全部的基础算法极其优化,全部的题解及标程还有题目翻译可以b ...

  3. 从零开始学 Web 之 Vue.js(三)Vue实例的生命周期

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  4. redis linux(centos) 安装

    前言 redis 大家都使用过, 可以安装在windows下, 也可以安装在linux下, 一般还是linux下安装比较多. 这里来介绍一下redis在linux下的安装 一. 下载 https:// ...

  5. 经济学人使用Golang构建微服务历程回顾

    关键点 经济学人内容分发系统需要更大的灵活性,将内容传递给日益多样化的数字渠道.为了实现这一灵活性目标并保持高水平的性能和可靠性,平台从一个单体结构过渡到微服务体系结构. 用Go编写的服务是新系统的一 ...

  6. php生成mysql数据字典

    <?php /** * 生成mysql数据字典 */ // 配置数据库 $database = array(); $database['DB_HOST'] = '127.0.0.1'; $dat ...

  7. 精读JavaScript模式(六),Memoization模式与函数柯里化的应用

    假期就这么结束了!十天假就有三天在路上,真的难受!想想假期除了看了两场电影貌似也没做什么深刻印象的事情.流浪地球,特效还是很赞,不过对于感情的描写还是逃不掉拖沓和尴尬的通病,对于国产科幻还是抱有支持的 ...

  8. Angular2入门:TypeScript的类型 - 对象解构

  9. SpringBoot(3) 文件上传和访问

    springboot文件上传 MultipartFile file,源自SpringMVC MultipartFile 对象的transferTo方法,用于文件保存(效率和操作比原先用FileOutS ...

  10. PHP 网页数据api采集

    一个简单的数据采集,这里用的方法是API数据采集 //api地址,读取文本 $result = file_get_contents("https://feed.mix.sina.com.cn ...