PHP 标准建议 (PSR) 是一套旨在提升 PHP 代码质量和可维护性的规范,使代码更简洁、易读、易于理解和协作。由 PHP-FIG(框架互操作性小组)制定,PSR 包含约 22 项标准,涵盖自动加载、接口定义、HTTP 规范和编码风格等核心原则。

虽然你可能已经熟悉这些实践中的大部分,但将它们以正式的 PSR 标准的形式理解,可以帮助你以统一且专业的的方式遵循最佳实践。例如:

类命名:

  • 以大写字母开头。

  • 多单词类名使用驼峰式命名法 (CamelCase)。

class UserController

方法命名:

  • 以小写字母开头。

  • 多单词方法名使用驼峰式命名法 (CamelCase)。

public function getAllUsers()

以下是一些核心的 PSR 标准:

  •  PSR-0: 基本自动加载(已弃用) 第一个自动加载标准,现在被 PSR-4 取代。
  • PSR-1:基本编码标准 为文件、类和常量定义简单、一致的命名约定。

  • PSR-2:扩展编码风格指南 在 PSR-1 基础上构建,添加了有关缩进、括号和间距的指南。

  • PSR-3:记录器接口 标准化日志库的通用接口,增强一致性。

  • PSR-4:改进的自动加载 PSR-0 的更新,它提供了一种更现代的方法来组织文件和命名空间。

  • PSR-5:PHPDoc(草案) 旨在标准化文档注释,尽管它仍处于草案形式。

  • PSR-6:缓存接口 提供缓存标准,允许一致的缓存存储和检索。

  • PSR-7: HTTP 消息接口 定义HTTP消息(请求和响应)的接口,使HTTP处理统一。

  • PSR-11:容器接口 指定依赖注入容器,以实现更有条理的依赖管理。

  • PSR-12:扩展编码风格指南 在 PSR-2 的基础上进行扩展,添加了有关命名空间、导入和文件结构的更多详细信息。

  • PSR-13:超媒体链接 添加处理资源之间超媒体链接的标准方法。

  • PSR-14:事件调度器 提供用于处理应用程序内事件的事件调度程序标准。

  • PSR-15:HTTP 中间件 定义 HTTP 中间件的接口,HTTP 中间件是管理 HTTP 请求的关键组件。

  • PSR-16:简单缓存 PSR-6 的简化版本,为缓存需求提供了更轻量的接口。

  • PSR-17:HTTP 工厂 指定用于一致创建 HTTP 消息(请求、响应)的工厂。

  • PSR-18:HTTP 客户端 定义发送 HTTP 请求和接收响应的标准接口。

  • PSR-19:(草案)PHPDoc 标准 新的草案进一步规范了 PHPDoc,增强了代码文档。

  • PSR-20:(草案)DateTime 接口 目前还处于草案阶段,这将以统一的方式解决日期和时间管理问题。

  • PSR-21:(草案)国际化 将标准化处理多种语言,促进多语言应用。

  • PSR-22:(草案)二进制数据处理 旨在为处理图像或视频等二进制数据提供指南。

  • PSR-23:(草案)任务调度程序 期望定义一个用于管理计划任务和 cron 作业的标准接口。

  • PSR-24:(草案)事件源 在草案中,重点关注事件驱动架构中的事件源结构。