PHP技术
#综合
- 一个Http请求到响应的过程,必须注意在请求到控制器处理前经过中间件,借由中间件处理各种前置条件,如:访问权限
- 清楚Error与Exception的本质区别
#框架
ThinkPHP:
- 特性:
- 框架目录清晰简洁,主程序目录Apps内以模块为单元独立管理
- 程序的准入口为Action类内部的公共方法,并且路由规则自动匹配,无需手动创建新路由规则
- 使用以Smarty为基础二次开发的ThinkPHP模板引擎,与Smarty语法接
- I、S、D、M等快捷函数非常方便
- 支持分布式数据库
- 数据库的CURD以查询构造器为基础
- 特性:
Laravel :
- 特性:
- 以ioc控制翻转及容器技术为核心,整个框架就是一个大容器,内置了各种开发常用的服务接口,并且服务供应与服务实现分离
- 优雅的代码风格,强调OOP与AOP
- 基于composer的依赖管理
- 集成phpunit
- 拥有独立的强大模板引擎
- 传统Entity与Model类都整合在Model类中
- 程序配置与扩展成本低
- 特性:
项目管理
需求:
- 产品需求的详细确定,并经由产品原型的现实推演,是减少项目开发时间与提供开发质量的非常重要的保证
- 产品需求对开发任务的转换效率是重要因素,因为实际开发过程中需求的变更以为着需求文档的内容的变更,这意味这种变更应该迅速反应到开发任务内容中
开发:
- 按照业务垂直分配任务(同一业务,前端与后台都有同一人完成),可以减少业务沟通成本,减少需求实现差异,但会弱化前端与后台的代码风格一致性,导致后续维护成本增加
- 按照架构水平分配任务(安排专职前端与专职后台,跨业务完成),可以最大程度地强化组内成员的特定方向的开发能力,有利于前端与后台的架构实施
- 测试:
- 正常流>异常流>替代流
- 运维:
- 每个版本保证数据库的完整脚本与补丁脚本
- 做好计划任务,定期备份数据库数据
- 版本部署后的配置问题必须首先考虑