原地址 https://www.evernote.com/l/AXZBLcz_u_1Fs6Ju7yvdGAuJMMNcrJwrLCs
- 设计优先
- 极简原则 (不是粗暴简单,而是设计时候尽量检查减少依赖)
- 底层驱动,
- models 编写!测试用例 尽量保证没有依赖
- services编写!测试用例 包含一些列功能!需要编写测试用例覆盖
- API编写! 测试用例 包含模拟的正常用户需求
- 架构之开发效率
- 路由
- 参数检验
- 依赖注入,容器
- 分层 services / model
- cache
- Log (input/output | DB | dubug error | other log)
- model (事物,基础CURD)
- Exception Catch
- Third Library
- Hook (function / event )
- Queue
- Crontab Script
- Yourself Common Library
- CodeCeption Or PhpUnit ( model /service / api ) 简称单元测试 功能测试 集成功能测试
- CI 自动化测试 目前还是比较简单的命令行跑 需要进一步学习
- 业务篇
- 短信
- 支付
- User Message
- Push Message
- 账户数值
- Wallet 钱包
- Credit 积分
- Coin 金币
- 其他等等
- DB Table Log篇
- Operation 操作日志
- Status change 日志
- 账号授权+鉴权
- 单点登录 SSO
- Oauth2 授权
- 文件上传 OSS 七牛
- file type
- Image
- Video
- Pdf / doc / Excel
- file type
- 核心业务
- 其他业务(一次性业务,运营相关,只要不是核心业务,无论优先级如何,切记代码非侵入式)
- 例如,一次活动中需要给用户加金币
- 活动逻辑由活动模块控制
- 加金币操作其实是核心业务之一,直接调用核心业务金币组件的方法
- 其他情况类似!
- 例如,一次活动中需要给用户加金币
- 进阶篇
- DB安全
- 索引
- Uniqe 索引
- 锁(乐观锁+事物锁)
- 代码质量
- 单元测试 针对db model
- 功能测试 针对service
- Api 测试 针对API 模拟curl
- 配置中心
- development 开发环境
- debug 测试环境
- production 生产环境
- 自动化
- 代码自动发布
- 文档自动生成
- 报错日志自动化
- Nginx Mysql PHP 日志
- ELK
- DB安全
- 高级篇
- Docker. Vagrant K8s
- RPC
- Swoole
- 作为http服务器
- 作为TCP服务器
- 作为UDP服务器
- 作为socket服务器
- 作为crontab 毫秒级任务
- Consol / ACM阿里云 云端配置中心
- 存储集群
- DB 集群
- Cache 集群
- File 集群
- ELK
- Zookeeper
- 前端
- 每个phper多少需要懂得一些前端知识
- 框架VUE react angular
- Nodejs编程**