【问题标题】:Which version of PSR is valid?哪个版本的 PSR 有效?
【发布时间】:2016-06-02 00:49:16
【问题描述】:

也许我没有完全理解。 我读到 PSR 是 PHP 标准推荐,但是 PSR 有几个版本, 例如 autoloader 使用 PSR-4 而不是 Basic Coding Standard 使用 PSR-1

我必须遵循特定的 PSR 版本或者我必须合并它们的好部分?

Symfony 遵循 PSR-0、PSR-1、PSR-2 和 PSR-4 文档中定义的标准,那么每个框架使用不同的 PSR?

【问题讨论】:

    标签: php psr-4 psr-1


    【解决方案1】:

    PHP 标准建议是关于您应该如何编写代码,以便其他人可以轻松阅读和使用。它涵盖了编码风格、文件组织、自动加载和标准化各种接口等主题。 PSR 由框架互操作性小组 (FIG) 提出,该小组在 php|tek 2009 会议上提出。其成员包括各种知名 PHP 框架的作者。 PSR 绝不是“官方的”;只是框架互操作性小组 (FIG) 包含了一批经验丰富的 PHP 开发人员,他们投票选出最好的编码风格。因此,您可以关注 PSR 的全部或部分内容,也可以不关注。这完全取决于您,但是您想要参与的某些项目可能需要您遵循一些 PSR,以便每个人都在同一页面上。有一个以前没有的标准并没有错。

    那么谁是会员?现在有超过 20 名成员(刚开始时只有 5 名),其中包括 CakePHP、Composer、Zend、Lithium、SugarCRM 和 Symphony 的作者。可以说是 PHP 圈子里的人。

    至于 PSR 标准本身,大约有 17 个,但只有 7 个被所有成员接受。其余的仍在投票中,或处于草案状态 [截至 2016 年 9 月]。

    (我写了this article,它以 PSR-1 为例进行了详细介绍。)

    【讨论】:

      【解决方案2】:

      您可以将 PSR 视为一项庞大的编码标准。它们相互依赖,但每个 PSR 都独立存在。 PSR-2 描述了编码风格指南,而 PSR-4 描述了自动加载的标准

      这是一个关于PHP Standards Recommendations 的网站。您可以在那里找到所有现有 PSR 的完整列表。

      PSR 表示 PHP 标准建议 - 所以它只是关于如何处理/格式化 php 应用程序的特定部分的建议。索引只是一个标识 psr 的用途的 ID。不要将其理解为版本号。 PSR-0 和 PSR-4 都涵盖了 Autoloader 的处理。

      【讨论】:

      • 谢谢 roman,比我必须合并不同的版本吗? PSR-0 有效,因为 PSR-4 即使“版本”为零?
      • 看看我在答案中添加的链接。在那里你会看到 PSR-0 是DEPRECATED
      • PSR-0 已弃用但 Symfony 3 使用此 PSR?版本中PSR后面的数字还是什么?例如 PSR-0 只覆盖自动加载?所有接受的 PSR 都在数字索引 (php-fig.org/psr/#numerical-index) 下?再次感谢
      • PSR 表示 PHP 标准建议 - 因此它只是关于如何处理/格式化 php 应用程序的特定部分的建议。索引只是一个标识 psr 的用途的 ID。不要将其理解为版本号。 PSR-0PSR-4 都涵盖了Autoloader 的处理。
      • 只是一个数字。 ;-)
      猜你喜欢
      • 1970-01-01
      • 2015-09-02
      • 1970-01-01
      • 2016-11-03
      • 1970-01-01
      • 2021-02-25
      • 1970-01-01
      • 2013-11-03
      • 2020-05-08
      相关资源
      最近更新 更多