Esiste uno standard PHPCS per il targeting dei docblock PHP?

Esiste uno standard di codifica PHPCS che controlla che le annotazioni appropriate ( @param , @return , @throws , ecc.) Siano presenti in un docblock, inclusa la spaziatura corretta tra di esse?

Prova a eseguire il seguente command e verifica se produce ciò che desideri:

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

Se lo fa, potresti creare il tuo standard che include solo quegli annusamenti e qualsiasi altra cosa tu voglia controllare. Lo fai creando un file ruleset.xml e usandolo come standard.

Ad esempio, puoi creare un file chiamato mystandard.xml e includere il seguente contenuto:

 <?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> 

Quindi puoi eseguire questo command:

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

Ci sono altre cose che puoi fare in un file ruleset.xml . Vedi i documenti qui: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml

Nel 2017 hai ora più opzioni:

  • uno dei migliori sniff per controllare i docblocks è TypeHintDeclarationSniff di SlevomatCodingStandard , funziona perfettamente con PHP 7, PHP 7.1, rilascia documenti inutilizzati ecc.
  • anche tu puoi fare uso di un altro strumento – PHP-CS-Fixer , lì puoi trovare altri fixer, che ti aiuteranno con docblock, basta cercare "doc"