PHP-FIG的PSR-2编码风格指南
"PSR-2编码风格指南是PHP-FIG(PHP框架 interoperability 组织)提出的一个标准,旨在确保不同作者之间的共享PHP代码具有高度的技术互操作性。此指南扩展并深化了PSR-1基本编码标准,通过制定一系列共同的规则和期望来减少在浏览不同作者代码时的认知摩擦。这些规则源于各成员项目之间的共性,当多个作者在多个项目中协作时,有一套通用的指导方针会有所帮助。PSR-2的关键字如"MUST"、"SHALL"等遵循RFC2119的解释。" 在PSR-2编码风格指南中,主要涵盖以下几个核心知识点: 1. **基本要求**:所有代码必须遵循一个“编码风格指南”,即PSR-1。这是确保代码规范性和一致性的基础。 2. **缩进**:代码必须使用4个空格进行缩进,而不得使用制表符。这有助于保持代码的整洁和一致性,因为不同的编辑器或IDE可能会对制表符有不同的解析方式。 3. **行长度**:虽然没有强制的硬性行宽限制,但建议的软限制是每行不超过120个字符。这样可以保证代码在大多数显示器上易于阅读,同时避免不必要的水平滚动。 4. **代码结构**:类、接口和 traits 的定义必须以类名开头,后跟一个花括号,该花括号必须在新的一行开始,并在类定义结束时关闭花括号。类属性和方法也应遵循同样的规则,即在声明后立即打开花括号,然后在新的一行定义它们。 5. **命名规范**:变量、函数、类、接口、常量等的命名必须遵循驼峰式命名法(CamelCase),并且首字母大写。常量必须全大写字母,单词间用下划线分隔。 6. **注释与文档块**:所有的类、接口、函数、方法和属性都应当有文档注释块,使用 `/** ... */` 包裹,注释块内应包含类型、参数、返回值和描述。单行注释应使用 `//` 而非 `#`。 7. **空格和逗号**:在操作符周围、逗号后面、括号内部的结尾等位置,应当添加空格以提高可读性。数组定义中的逗号后面应有一个空格,但不应用于数组定义的末尾。 8. **控制结构**:控制结构如 if、while、for、foreach、switch 等的关键词后应立即跟一个左括号,右括号应在控制结构的主体结束后单独一行。控制结构的主体应该缩进,且条件表达式应该在新的一行开始。 9. **函数调用**:函数调用中的参数列表,每个参数之间应有空格,但逗号后面不应有空格。 10. **错误处理**:避免使用 @ 符号来抑制错误报告,而是应该使用 try-catch 结构来捕获和处理异常。 PSR-2编码风格指南旨在提升PHP代码的可读性、可维护性和团队协作效率。遵循这些规范,可以帮助开发者创建出更易于理解、更易维护的代码库,从而促进整个PHP社区的代码质量提升。
![](https://csdnimg.cn/release/download_crawler_static/12379669/bg4.jpg)
剩余15页未读,继续阅读
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 1
- 资源: 26
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- Vue实现iOS原生Picker组件:详细解析与实现思路
- Arduino蓝牙小车:参数调试与功能控制
- 百度Java面试精华:200页精选资源涵盖核心知识点
- Swift使用CoreData填坑指南:CoreData在Swift 3.0的变化
- 微距离无线充电器创新设计及其实验探索
- MTK Android平台开发全攻略:44步详解流程
- RecyclerView全面解析:替代ListView的新选择
- Android开发:自动适配中英文键盘解决方案
- Android调用WebService接口教程
- Android开发:BitmapUtil图片处理全解析与实例
- Android多线程断点续传实现详解
- PCA算法在人脸识别会议签到系统中的应用
- EventBus 3.0:Android事件总线详解与实战应用
- Android FileUtil:全面解析文件操作实用技巧与实例
- RecyclerView添加头部和尾部实战教程
- Android实现微博滑动固定顶部栏实战与优化
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)