PHP开发API的一点体会
本文章是个人在自我开发了一些APP接口后,以及阅读了一些资料后的体会。
从需求分析中抽离出相应的功能,这部分直接关系到我们的程序员需要实现这个应用的什么功能。例如:注册&登陆。
1、通用性,前期设计尽可能把情况考虑全面一点,否则当开发一段时间后,再来修改协议,将会非常麻烦。或者为了将就,会导致协议中的数据解析麻烦、冗余不断增加;
2、简洁性,移动端与服务端是通过网络来传输的,协议越简洁,交付速度就越快。体验就越好;
3、统一编码,为了兼容性问题。一般目前客户端与服务端统一采用UTF-8编码方式。
个人采用的协议格式:
<code class=" hljs json">{ "<span class="hljs-attribute">code</span>":<span class="hljs-value"><span class="hljs-string">"正确或者错误的代码号"</span></span>, "<span class="hljs-attribute">message</span>":<span class="hljs-value"><span class="hljs-string">"对应代码号的提示信息"</span></span>, "<span class="hljs-attribute">data</span>":<span class="hljs-value"><span class="hljs-string">"返回的数据内容"</span></span>}</code>
在返回的数据区data可能会有三种情况:单个对象数据、返回多个对象同一种数据、返回单个对象及多个对个对象数据。
这个是必不可少的,无需多言。这里需要声明的是,必要的增加一些冗余字段,会大大减少查询时候的速度。所以在概要设计时,可以适当的考虑。
客户端由于是在Andorid或者IOS核心类库的基础上建立起来的,相当只需要定义上层架构,底层已经由相应的移动系统定义好。
不管是Android还是IOS或者其它移动系统。个人认为在这个架构中应该包括以下几个部分:
会使用到的工具类,如:图片操作(上传,浏览,删除)。文件操作等
Test相关类,主要是进行自测的一些测试代码
UI相关的类,MVC中的View层
Model类,MVC中的Model层
Service类,与服务相关的所有类
Sqlite类,存放SQLite数据库的操作类(并不是所有应用都需要)