开发流程与思想
思想与概念
1,API用于接收数据与返回数据 API(Application Programming Interface,应用程序编程接口)
2,用php开发供app使用的API,其实比web开发会更加简洁,分层会更加明显,不像web开发那样,有时候V和C还纠缠不清。
3,API只需要以json或xml的数据格式返回数据给客户端即可
4,从某种意义上而言,API开发中php主要负责了M和C层,V层已经彻底剥离。处理流程
1, 客户端发送信息(调用接口),一般也是通过post和get来的,每一个团队都会约定好
2,有了参数,PHP则根据应用需求,完成数据处理,操作数据库等,最终将处理结果返回给APP(客户端)
3,客户端得到参数,在客户端本地与用户交互注意点
1,对于数据的输出最好用json,json具有相当强大的跨平台性,市场上各大主流编程语言都支持json解析,json正在逐步取代xml,成为网络数据的通用格式
2, 接口安全,一定要增加接口验证。例如,客户端和服务端针对不同接口统一做好加密方式,服务端在对于每次接口需要都要进行验证。以保证防止接口被恶意刷新或黑客恶意调用,尤其是大型商业应用
3, 对于线上的 API 必须保证所有接口正常且关闭所有的错误信息error_reporting(0),在输出JSON 时,不能有任何其它输出,否则,客户端将解析数据失败
4,开发 API 和 WEB 有一定的区别,如果是 WEB 的话,可能代码出错了,不会导致特别严重的错误,也许只是导致数据写入和查询失败,也许导致 WEB 的某个部分错位或乱码。但如果是 API
5,从效率而言,其实做API,框架并不是最合适的,但TP5专为API而生
- 发散思维
1,腾讯微博淘宝等开放平台。
其实那些开放平台,所谓的开放,就是给你提供一个这样的接口,你根据他们提供的技术文档,
按他们制定的格式和要求,调它们提供的 接口文件(一般都是返回JSON或者XML),
你就可以获取到他们的相关信息,
例如:QQ用户基本信息、淘宝店铺、商品消息等等。然后在根据这些消息,在你的应用里完成交互
2, ajax 也是调用 API 的一种体现形式
PHP开发APP后端之总结
接口,准确而言是通信接口,可用于获取数据和提交数据
支持xml,json数据格式,可在请求接口时,加上一个参数,用于告诉服务端期望得到的数据类型(前提是接口支持此功能)
1,xml
标签可自定义,适合传输
所有只能有一个根节点,可对标签,也可单标签
编程时可读性强
2,json
传输速度快
生成速度快(php)
接口开发
封装返回数据的方法(xml,json,综合返回)
其他
1,PHP处理缓存,主要操作如下
– 生成缓存
– 获取缓存
删除缓存
2,静态缓存:以静态文件形式保存在磁盘中,从而减轻数据库压力(如Thinkphp的File缓存)
Memcache和Redis
分别可通过命令和php脚本形式处理缓存
用于管理数据,其数据存放于内存,读写快(Mysql存放在磁盘)
Redis可定期将数据备份到磁盘中,以此实现持久化存储,同时还支持除key/value以外,list、set、hash等数据结构
Memcache并不支持持久化,也仅支持简单的key/value
3,Memcache和Redis的使用
安装服务,使用客户端操作
设置缓存过期时间
php如果使用,则必须开启相应的扩展,如phpredis
4,linux定时任务
crontab 定时执行(不仅仅执行php,也可执行其他命令)
crontab -e 编辑某个用户的cron服务
crontab -l 列出某个用户cron服务列表
crontab -r 删除某个用户的某条cron服务
5,app版本升级
版本表示,是否升级(强制),url,升级提示等