Есть ли стандарт кодирования PHPCS, который бы проверял, что в докблоке присутствуют правильные аннотации (@param
, @return
, @throws
и т.д.), включая правильный интервал между ними?
Есть ли стандарт PHPCS, предназначенный для PHP docblocks?
Ответ 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
В файле ruleset.xml
есть другие вещи, которые вы можете сделать. См. Документы здесь: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml
Ответ 2
В 2017 году у вас появилось больше опций:
- один из лучших нюков для проверки docblocks TypeHintDeclarationSniff от SlevomatCodingStandard отлично работает с PHP 7, PHP 7.1, удалить неиспользуемые документы и т.д.
- также вы можете использовать другой инструмент - PHP-CS-Fixer, там вы можете найти больше фиксаторов, которые поможет вам с docblock, просто найдите "doc"