我的代码库遵循(或应该)Zend Coding Standard。我一直在使用Zend标准和PHP_CodeSniffer,但我看到讨论说phpcs的Zend标准不一致且没有维护,并且不一定坚持Zend Coding Standard。所以我正在寻找一种更加一致,最新和广泛使用的标准。我该怎么用?
我听说过“Squiz”,“PEAR”和“PSR2”,但我对它们一无所知。它们之间有什么区别?
答案 0 :(得分:21)
PEAR标准是最基本的,也是大多数其他标准的标准。它已经存在了很长时间,但很长一段时间没有更新。它最初由PEAR包使用(如PHP_CodeSniffer),我认为它是一个很好的初学者标准。
The PEAR standard contains 26 main checks.
PSR2标准相对较新,由PHP-FIG开发。它被许多框架以各种形式采用。我认为如果你想坚持一个,你真的不知道该选择什么就是选择的标准。
The PSR2 standard contains 40 main checks.
Squiz标准是我在工作中使用的标准。我开发了PHP_CodeSniffer,因此我使用的标准非常严格也就不足为奇了。这个还包含对JS和CSS文件的检查,因为它在我们的大型Web应用程序中使用。它绝对不是初学者标准,而且会定期更改。但它包含许多可以纳入自定义编码标准的良好检查。
The Squiz standard contains 124 main checks.
所以我的建议是试用PSR2标准,看看你怎么做。如果您开始觉得它不能以较小的方式为您工作,您可以查看创建自己的ruleset.xml文件以创建自己的自定义编码标准。这里有关于该流程的文档:https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml
答案 1 :(得分:0)
存在细微的差异,这主要取决于您的使用方式,或其他人强制执行的代码标准。
PSR2已被大多数框架采用。