PHP 标准建议psr

PSR-1: Basic Coding Standard(基础编码标准)

PSR-1 定义了PHP代码文件的基本编写规范,它关注的是代码文件的结构和一些通用的编程约定,主要包括:

  • 文件命名:PHP文件必须以.php为后缀。
  • PHP标签:所有PHP代码文件必须以<?php开头,不鼓励使用短标签 <?
  • 命名空间和类名:每个文件应只包含一个顶级命名空间声明,并且类的命名必须与文件名(不包括.php后缀)相匹配。
  • 类的声明:类的开放和关闭标签必须各自独占一行。
  • 代码行结束:文件必须以一个空白行结束。
  • 注释:文档块注释(如类和方法的注释)必须遵循PHPDoc标准。

PSR-2: Coding Style Guide(编码风格指南)

PSR-2 则更加详细,它建立在PSR-1的基础之上,提供了一套详细的代码格式化和布局规则,目的是提高代码的可读性和一致性。PSR-2涵盖的规范包括但不限于:

  • 缩进:必须使用4个空格进行缩进,禁止使用制表符。
  • 控制结构:如if、for、foreach、switch等语句的关键字后必须有空格,而其后的大括号必须另起一行,且与其对应的语句在同一列开始。
  • 函数和方法的调用:函数和方法的调用时,其后的开括号必须与函数名在同一行,而闭括号必须在参数列表结束后的新行。
  • 控制结构的括号:即使只有一个控制表达式,也必须使用括号包围。
  • 属性和方法的声明:类的属性和方法之间需要有空行分隔,方法的参数列表中的逗号后面应加空格。

PSR-3: Logger Interface(日志接口)

PSR-3 定义了一个通用的日志记录接口(Logger Interface),它提供了一套标准化的方法来记录不同级别的日志信息(例如DEBUG、INFO、WARNING、ERROR、CRITICAL、ALERT、EMERGENCY)。这个接口的目的是为了让开发者能够在不同的日志处理组件之间轻松切换,而不必修改日志记录的代码逻辑。通过实现这一接口,日志库可以确保兼容性,使得应用程序能够更容易地整合不同的日志处理解决方案。

PSR-4: Autoloading Standard(自动加载标准)

PSR-4 是关于类的自动加载机制的规范,它是对早先PSR-0的改进。PSR-4主要关注如何根据类的命名空间和类名来定位类文件的实际路径。这个标准建议类文件的位置应该与其命名空间和类名的结构相对应,从而使得自动加载器可以根据类名直接推断出文件的路径,而无需维护复杂的类映射表。具体来说:

  • 命名空间的命名应与目录结构相匹配。
  • 类文件的命名必须是其类名加上.php后缀。
  • 自动加载器只需查找与命名空间前缀对应的目录,然后在该目录下寻找与类名匹配的文件。

遵循PSR-4可以极大地简化大型项目中类文件的管理和自动加载过程,提高开发效率并减少错误。

其他psr

PSR-0(已废弃,被PSR-4替代)

  • 标题:Autoloading Standard(自动加载标准)
  • 状态:废弃,由PSR-4取代。
  • 内容:曾定义了基于命名空间和类名的类文件自动加载规则,但已被更灵活的PSR-4所替代。

PSR-6:Caching Interface(缓存接口)

  • 内容:定义了一套缓存接口,使得开发者可以创建和使用遵循统一接口的缓存存储和缓存项。

PSR-7:HTTP Message Interface(HTTP消息接口)

  • 内容:为HTTP请求和响应消息定义了一套接口,促进了HTTP中间件和库之间的互操作性。

PSR-11:Container Interface(容器接口)

  • 内容:定义了一个服务容器(Dependency Injection Container,依赖注入容器)的通用接口。

PSR-12:Extended Coding Style(扩展编码风格)

  • 内容:在PSR-2的基础上进行了细化和扩展,提供了更严格的代码样式规则。

PSR-15:HTTP Server Request Handlers(HTTP服务器请求处理器)

  • 内容:定义了HTTP请求处理器的接口,使得中间件和应用能够以标准化的方式处理HTTP请求。

PSR-16:Simple Cache(简单缓存)

  • 内容:提供了一个简单的缓存接口,适用于轻量级缓存需求,比PSR-6更基础。

所有正式的PSR文档都可以在PHP FIG的官方网站上找到:https://www.php-fig.org/psr/。

这里提供了每份PSR的详细说明、状态(是否活跃或已废弃)以及如何遵循这些标准的具体指导。

  • 19
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值