是否有针对PHP docblock的PHPCS标准?

Ben*_*min 17 php phpdoc codesniffer

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

Gre*_*ood 30

尝试运行以下命令,看看它是否产生了你想要的东西:

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>
Run Code Online (Sandbox Code Playgroud)

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

phpcs /path/to/code --standard=/path/to/mystandard.xml
Run Code Online (Sandbox Code Playgroud)

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

  • 这个答案是从 2012 年开始的。它仍然是正确的。但我今天要补充一点,你也可以使用 Generic.Commenting.DocComment 嗅探。这些嗅探的行为略有不同,因此请选择最适合您风格的嗅探。 (2认同)

Tom*_*uba 6

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