也许我完全不明白。 我读过PSR是PHP标准推荐书,但有几个版本的PSR, 例如autoloader使用PSR-4代替Basic Coding Standard使用PSR-1
我必须遵循特定的PSR版本或者我必须合并它们的好部分?
Symfony遵循PSR-0,PSR-1,PSR-2和PSR-4文件中定义的标准,然后每个框架使用不同的PSR?
答案 0 :(得分:6)
您可以将PSR视为一个巨大的编码标准。它们相互依赖,但每个PSR都独立存在。 PSR-2描述了编码风格指南,而PSR-4描述了自动加载的标准。
这是一个关于PHP Standards Recommendations的网站。您可以找到所有现有PSR的完整列表。
PSR意味着PHP标准推荐 - 所以它只是关于如何处理/格式化php应用程序的特定部分的建议。索引只是一个ID,用于标识psr的优点。不要将其理解为版本号。 PSR-0和PSR-4都涵盖了Autoloader的处理。
答案 1 :(得分:2)
PHP标准建议书是关于如何编写代码的,以便其他人可以轻松阅读和使用。它涵盖了编码风格,文件组织,自动加载和标准化各种界面等主题。 PSR由框架互操作性小组(FIG)提出,该小组在2009年的PHP会议上形成。其成员包括各种着名的PHP框架的作者。 PSR绝不是“官方”的;只是框架互操作性组(FIG)包含了一个经验丰富的PHP开发人员的优秀横截面,他们对最佳编码风格应该投票。因此,您可以关注全部或部分PSR,或者不遵循PSR。这真的取决于你,但是你想要贡献的一些项目可能需要你遵循一些PSR,这样每个人都在同一页面上。拥有一个以前没有标准的标准没有错。
那么谁是会员?现在有超过20个成员(从他们开始时的5个成员),他们包括CakePHP,Composer,Zend,Lithium,SugarCRM和Symphony的作者。可以这么说,那些曾经使用PHP块的人。
至于PSR标准本身,其中约有17个,但只有7个被所有成员接受。其余的仍在投票,或具有草案地位[截至2016年9月]。
(我写了this article,其中详细介绍了PSR-1。)