哪个版本的 PSR 有效?

Which version of PSR is valid?

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

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

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

您可以将 PSR 视为一个庞大的编码标准。它们相互依赖,但每个 PSR 都是独立存在的。 PSR-2 描述了 Coding Style Guide 而 PSR-4 描述了 A​​utoloading.

的标准

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

PSR means PHP Standard RECOMMENDATION - so it is only a recommendation on how to handle/format a specific part of a php-application. The index is just a ID to identify what the psr is good for. Do not understand it as a version-number. PSR-0 and PSR-4 both cover the handling of Autoloader.

PHP 标准建议是关于您应该如何编写代码,以便其他人可以轻松阅读和使用它。它涵盖了编码风格、文件组织、自动加载和标准化各种接口等主题。 PSR 是由 Framework Interoperability Group (FIG) 提出的,该小组在 php|tek 2009 会议上应运而生。其成员包括各种 well-known PHP 框架的作者。 PSR 绝不是“官方的”;只是 Framework Interoperability Group (FIG) 包含一个很好的 cross-section 经验丰富的 PHP 开发人员,他们投票选出最好的编码风格。因此,您可以关注 PSR 的全部或部分内容,或其中的 none。这真的取决于你,但是你想要贡献的一些项目可能需要你遵循一些 PSR,这样每个人都在同一个页面上。在没有标准的情况下制定标准并没有错。

谁是会员?现在有超过 20 名成员(开始时有 5 名),他们包括 CakePHP、Composer、Zend、Lithium、SugarCRM 和 Symphony 的作者。 PHP 街区附近的人,可以这么说。

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

(我写了 this article 以 PSR-1 为例。)