PHP代码开发规范

以下为个人总结,工具都实践使用过,若有补充或建议,可通过本站联系方式找到我。

1.代码注释参考github标准库或laravel核心依赖。

2.架构模块化,分组,Service、Controller、Model必须各司其职。

3.方法命名约定参考:https://symfony.com/doc/current/contributing/code/conventions.html

4.合理利用组件化资源,写出来好的可共用的代码尽量封装放到GitHub并提交到一些插件库网站(https://packagist.org/)。

5.编码风格,统一遵守PSR-2标准,若编辑器没相关插件可以使用脚本对文件进行处理,例如php-cs-fixer-v2.phar 。

6.文件命名约定,接口类后缀 Interface、异常处理类后缀 Exception、控制器后缀 Controller。

7.更多编码风格(逗号空格)可参考:https://symfony.com/doc/current/contributing/code/standards.html ,若开始不习惯可以用php-cs-fixer-v2.phar一段时间就会适应了。

8.接口不仅要定义好接口规范和书写完整的接口文档,还要有接口流程图。

9.为方便其他人和自己对代码的观看和对整个系统代码层面的理解,可以生成代码依赖关系图,可以使用工具phpda

10.当出现一个新的功能需求时,一定要设计好解决方案,以及解决方案系统设计图。不仅可以梳理自己的逻辑,锻炼自己的思路,还方便后期自己和他人对系统和各个模块的review。

11.即便遵守了以上规范并且拥有良好的设计,一般还是避免不了有漏网之鱼,可以采用静态分析和动态漏洞检查进一步对整个系统或者某个模块进行审查。静态分析:审核PHP代码,将评估结果细节列出来并给出修复方案。可以利用工具:cobra、phpmd、。动态漏洞检查:检测代码运行中不同的情况出现的问题,可以利用工具:Arachni、striker等等。

12.应用程序安全性得到保证之后,系统级别也要照顾,毕竟系统出问题了,代码就可以直接拿走或者造成其他威胁,所以服务器除了良好的安全配置,还可以利用一些工具进行辅助扫描,比如Vuls,还需要一些可以自动检测系统存在的模块并不间断监测发布的最新补丁及时安装。

{{ message }}

{{ 'Comments are closed.' | trans }}