found for example documenter docblock comment array php phpdoc codesniffer

for - phpdoc docblock



¿Hay un estándar de PHPCS dirigido a los docblocks de PHP? (3)

En 2017 ya tienes más opciones:

  • uno de los mejores sniffs para verificar docblocks es TypeHintDeclarationSniff de SlevomatCodingStandard , funciona muy bien con PHP 7, PHP 7.1, elimina documentos no utilizados, etc.
  • También puede hacer uso de otra herramienta, PHP-CS-Fixer , allí puede encontrar más reparadores, que lo ayudarán con docblock, solo busque "doc"

¿Existe un estándar de codificación de PHPCS que compruebe que las anotaciones correctas ( @param , @return , @throws , etc.) están presentes en un bloque de documentos, incluido el espacio adecuado entre ellos?


Intente ejecutar el siguiente comando y vea si produce lo que desea:

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

Si lo hace, puede crear su propio estándar que solo incluya esos sniffs y cualquier otra cosa que desee verificar. Para ello, crea un archivo ruleset.xml y lo utiliza como su estándar.

Por ejemplo, podría crear un archivo llamado mystandard.xml e incluir el siguiente contenido:

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

Entonces puedes ejecutar este comando en su lugar:

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

Hay otras cosas que puedes hacer en un archivo ruleset.xml . Consulte la documentación aquí: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml


Descargo de responsabilidad: Soy autor de Rector.

En 2019 puede usar el análisis estático para completar tipos de @var o declaraciones de tipos por usted.

class SomeClass { private $value; public setValue(string $string) { // here we know the string type is assigned $this->value = $value; } }

Sabiendo eso, Rector autocompleta el tipo var:

class SomeClass { /** * @var string */ private $value; public setValue(string $string) { $this->value = $value; } }

Un enfoque similar funciona para el tipo de devolución, tipos PHP 7.4 y declaraciones de tipo de interfaces y clases principales. Todo apoyado por el rector.

Lea más en Cómo completar declaraciones de tipo sin Docblocks con Rector