php - APP API需要同时维护多个版本如何优雅的设计?
PHPz
PHPz 2017-04-10 15:43:16
[PHP讨论组]

第一种形式:

Controller/V1.0.0/
-----------------/UserController.php
-----------------/UploadController.php
-----------------/********************
Controller/V2.1.0/
-----------------/UserController.php
-----------------/UploadController.php
-----------------/********************

第二种形式

Controller/
----------/UserCreateController.php
----------/UserInfoController.php
----------/UploadImageController.php
UserCreateController.php 内容如下


更多,请回答

PHPz
PHPz

学习是最好的投资!

全部回复(1)
阿神

没有很优雅的设计,只能自己考虑的长远写,接口的代码写的可扩展性高一些。App跟网站不一样,即使你发新版了还是有很高几率用户不买账不更新的。所以最好在最初设计接口的时候就想的长远些,API的URL不能随便动, 可以让手机端在请求接口的时候给你在参数中挂一个版本号,这样能区分出客户端的版本,但即使是这样搞多了代码写起来也很坑的, 所以设计核心业务的API只能考虑的比较清楚了,有些东西刚开始不做但是近期几个版本要做的话就预先留好入口,代码写的可扩展性高一些方便以后兼容,数据库中也可先预留好字段。

产品最初两版基本上都在探路,方向调整和逻辑重构是难免的,说下切身体会:痛苦的把API做了向前兼容(判断接口通信时新加的参数,没有就给默认值,有些字段值,可以靠查老数据算出来等等),测试新旧客户端访问都没问题后然后半夜4点爬起来(因为看友盟分析4点是我们产品活跃最少的时候,基本没人)改正式环境的数据库、往新表里跑数据。当时App已经有一万多用户了,白天日活还说的过去。跑着跑着发现突然有个用户在四点半的时候过来用App还产生了些数据...当时感觉有万匹草泥马从我的小心脏上踏过,赶紧把DNS解析先暂停了, 等一切都弄后再恢复回来的。

PS:说句题外话,有一个不知名的渠道抓了我们的APK包,结果他们SEO做的还挺好,百度搜我们产品的关键字他们总是排得挺靠前,气人的是丫抓了我们1.3版本的包后半年不更新,现在我们都2.0.2了,现在在新增用户中都能看到1.3版本注册进来的用户... 从这能看出安卓App的版本更新有多难控制(在产品不强的时候不敢让用户强制更新,安卓除了小米那一派程序都不能进行静默更新)

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号