是否有针对 PHP 文档块的 PHPCS 标准?

2022-08-30 19:48:05

有没有一个PHPCS编码标准来检查文档块中是否存在正确的注释(,,,等),包括它们之间的正确间距?@param@return@throws


答案 1

尝试运行以下命令,看看它是否生成了您想要的内容:

phpcs /path/to/code --standard=Squiz --sniffs=Squiz.Commenting.FunctionComment,Squiz.Commenting.FunctionCommentThrowTag,Squiz.Commenting.ClassComment,Squiz.Commenting.FileComment,Squiz.Commenting.VariableComment

如果是这样,您可以创建自己的标准,其中仅包含这些嗅探以及要检查的任何其他内容。您可以通过创建一个文件并将其用作标准来执行此操作。ruleset.xml

例如,您可以创建一个名为并包含以下内容的文件:mystandard.xml

<?xml version="1.0"?>
<ruleset name="MyStandard">
  <description>My custom coding standard.</description>
  <rule ref="Squiz.Commenting.FunctionComment" />
  <rule ref="Squiz.Commenting.FunctionCommentThrowTag" />
  <rule ref="Squiz.Commenting.ClassComment" />
  <rule ref="Squiz.Commenting.FileComment" />
  <rule ref="Squiz.Commenting.VariableComment" />
</ruleset>

然后,您可以改为运行以下命令:

phpcs /path/to/code --standard=/path/to/mystandard.xml

您还可以在文件中执行其他操作。请参阅此处的文档:https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-Rulesetruleset.xml


答案 2

在2017年,您现在有更多的选择:

  • 检查文档块的最佳嗅探之一是SlevomatCodingStandard的TypeHintDeclarationSniff,非常适合PHP 7,PHP 7.1,删除未使用的文档等。
  • 你也可以使用另一个工具 - PHP-CS-Fixer,在那里你可以找到更多的修复程序,这将有助于你与docblock,只需搜索“doc”

推荐