php实现api多版本的思考
2017-07-01 00:00
309 查看
问题:
如何在yii中具体实现api多版本如何避免代码冗余,方便维护
除了接口代码的版本管理,还要考虑接口文档的版本管理
至多保留维护多少版本需要限定,避免维护过多版本
实现方式:
1 . 每个版本copy一份代码作为一个模块优点:实现简单粗暴
缺点:维护成本太大、代码冗余严重
2 . 使用spl的autoload,根据传递来的版本号,查找接口对应的action在存在的版本目录由近及远,找到并加载。
优点:实现接口增量更新,减少维护工作量和冗余代码
缺点:每个接口请求都需要查找,性能低,若用户端发生问题,根据版本号也并不方便定位,实现也比较复杂
3 . 分别定义各版本controller,当接口有大变动时,copy出新的controller,将有变动的action指向新的action路径,其他的action还是指向原来路径,不做改动。
优点:实现简单,每个版本使用的接口及其映射的action都非常清晰,也能够方便地对每个版本接口进行控制,并且代码不冗余。
缺点:每次新版本都得新写controller,不同版本的model和component没隔离,会相互污染(但二者通常都是原子性的,不会做大改动)
4 . 按模块划分,controller中的action按3实现
优点:每个模块特有的部分都会分散在模块中
缺点:model、compenent等会出现各种版本model、component,过于零散,维护困难;新代码调用老代码的方法,若不直接copy老代码,调用老module中的特性,攀枝错节依赖太多。
相关文章推荐
- PHP和JQUERY实现淘宝API在线应用(…
- PHP 开发的 API 多版本管理实践
- 调用支付宝PHP接口API实现在线即时支付功能(UTF-8编码)
- 由编码识别遇到问题,思考utf8编码正则表达式(php版本)
- PHP实现新浪长链接转化成短链接API
- @TargetAPI + 版本判断实现高低API版本兼容
- 朴素贝叶斯算法资料整理和PHP 实现版本
- PHP实现人人OAuth登录和API调用
- PHP中Restful api 错误提示返回值实现思路
- PHP学习笔记:利用百度api实现手机归属地查询
- 调用支付宝PHP接口API实现在线即时支付功能(UTF-8编码)
- PHP下通过API实现与新浪微博同步
- PHP中通过ADODB库实现调用Access数据库之修正版本[原创]_php技巧_脚本之家
- PHP在线生成二维码(google api)的实现代码详解
- (版本定制)第7课:Spark Streaming源码解读之JobScheduler内幕实现和深度思考
- PHP:基于百度大脑api实现OCR文字识别
- IIS中多个版本php共存的方法,IIS如何快速搭建PHP网站,多个php实现共存的神器!
- 使用pthreads实现真正的PHP多线程(需PHP5.3以上版本)
- PHP和JQUERY实现淘宝API在线应用(…
- 用PHP实现飞信api接口发飞信短信