PSR(PHP Standard Recommendation)是由PHP-FIG(PHP Framework Interop Group)发布的PHP编程规范。它为PHP开发者提供了一系列的标准建议,用于改善代码的可读性和可维护性,从而提高开发效率。
PSR规范包括PSR-0,PSR-1,PSR-2,PSR-3,PSR-4,PSR-6,PSR-7,PSR-11,PSR-12,PSR-13,PSR-14,PSR-15,PSR-16,PSR-17等,涵盖了PHP开发中的各个方面。
PSR-0
PSR-0是PHP-FIG发布的第一个规范,它的主要目的是为了统一PHP代码的自动加载(Autoloading)机制,它的主要原则是:每个类都必须在一个独立的文件中,文件名必须与类名完全一致,类名中的命名空间必须与文件路径完全一致。
PSR-1
PSR-1是PHP-FIG发布的第二个规范,它的主要目的是为了统一PHP代码的编码风格。它的主要原则是:所有的PHP代码必须遵循PSR-1中定义的规范,包括:缩进,空格,换行,注释,命名空间,类名,函数名,常量名等。
PSR-2
PSR-2是PHP-FIG发布的第三个规范,它的主要目的是为了统一PHP代码的编码风格,它的主要原则是:所有的PHP代码必须遵循PSR-2中定义的规范,包括:缩进,空格,换行,注释,命名空间,类名,函数名,常量名等。与PSR-1不同的是,PSR-2要求所有的类必须定义在一个文件中,而不是每个类必须定义在一个文件中。
PSR-3
PSR-3是PHP-FIG发布的第四个规范,它的主要目的是为了统一PHP代码的日志接口。它的主要原则是:所有的日志库必须遵循PSR-3中定义的接口,比如:日志级别,日志消息,日志上下文等。
PSR-4
PSR-4是PHP-FIG发布的第五个规范,它的主要目的是为了统一PHP代码的自动加载(Autoloading)机制。它的主要原则是:所有的自动加载类必须遵循PSR-4中定义的规范,比如:命名空间,文件路径,类名等。
PSR-6
PSR-6是PHP-FIG发布的第六个规范,它的主要目的是为了统一PHP代码的缓存接口。它的主要原则是:所有的缓存库必须遵循PSR-6中定义的接口,比如:缓存池,缓存键,缓存值,缓存时间等。
PSR-7
PSR-7是PHP-FIG发布的第七个规范,它的主要目的是为了统一PHP代码的HTTP消息接口。它的主要原则是:所有的HTTP消息库必须遵循PSR-7中定义的接口,比如:请求对象,响应对象,状态码,头部等。
PSR-11
PSR-11是PHP-FIG发布的第八个规范,它的主要目的是为了统一PHP代码的容器接口。它的主要原则是:所有的容器库必须遵循PSR-11中定义的接口,比如:容器实例,容器键,容