yoast/yoastcs

Yoast项目PHP_CodeSniffer规则

安装量: 751 539

依赖项: 30

建议者: 0

安全: 0

星标: 21

关注者: 17

分支: 3

开放问题: 16

类型:phpcodesniffer-standard


README

Coverage Status

Yoast编码标准(YoastCS)是一个项目,其中包含用于Yoast项目的代码风格和质量工具的规则集。

安装

独立

标准作为Composer包提供,可以使用以下方式安装

composer global config allow-plugins.dealerdirect/phpcodesniffer-composer-installer true
composer global require --dev yoast/yoastcs:"^3.0"

作为依赖项

要将标准作为项目的一部分,需要将其作为开发依赖项

composer config allow-plugins.dealerdirect/phpcodesniffer-composer-installer true
composer require --dev yoast/yoastcs:"^3.0"

Composer将自动安装依赖项并注册YoastCS和其他外部标准到PHP_CodeSniffer。

YoastCS提供的工具

  • PHP Parallel Lint
  • PHP_CodeSniffer和PHP_CodeSniffer的选定标准,包括一些Yoast原生sniffs。

PHP Parallel Lint

PHP Parallel Lint 是一个工具,用于对PHP文件进行解析错误检查。

PHP Parallel Lint不使用配置文件,因此需要传递命令行选项来配置要扫描的文件。

在Yoast项目中,最佳实践是向composer.json文件添加一个脚本,该脚本封装了具有适当命令行选项的命令,以确保每次运行工具都能得到相同的结果。

通常,以下代码段将被添加到项目的composer.json文件中

    "scripts" : {
        "lint": [
            "@php ./vendor/php-parallel-lint/php-parallel-lint/parallel-lint . -e php --show-deprecated --exclude vendor --exclude .git"
        ]
    }

PHP代码检查器

一套PHP_CodeSniffer规则。

严重性级别

  • 错误级别的错误在Yoast项目中被视为必须修复,并在持续集成中强制执行
  • 警告级别的错误被视为建议修复

YoastCS标准

PHP_CodeSniffer的Yoast标准由以下内容组成

版本管理和依赖相关目录中的文件,例如Composer的vendor目录,默认情况下不包含在扫描中。

Sniffs

要获取YoastCS中使用的所有sniffs的列表

"vendor/bin/phpcs" -e --standard=Yoast

Sniff文档

并非所有嗅探器都有关于它们嗅探内容的文档,但对于那些有文档的嗅探器,可以通过命令行查看这些文档。

"vendor/bin/phpcs" --standard=Yoast --generator=Text

运行嗅探器

命令行

"vendor/bin/phpcs" --extensions=php /path/to/folder/

有关更多命令行选项,请参阅PHP_CodeSniffer 文档

Yoast 插件仓库

所有 Yoast 插件仓库都包含一个 [.]phpcs.xml.dist 文件,其中包含特定于仓库的配置。

从这些仓库的根目录,您可以使用以下命令运行 PHPCS:

composer check-cs-warnings

PhpStorm

请参阅 PhpStorm 文档中的使用 PHP Code Sniffer 工具

安装后,"Yoast" 标准将作为 PHP Code Sniffer 验证检查中的一个选项可用。

YoastCS "阈值" 报告

YoastCS 包包含一个自定义的 YoastCS\Yoast\Reports\Threshold 报告,用于将当前 PHPCS 运行结果与预定义的 "阈值" 设置进行比较。

该报告将在运行时环境中查找以下两个环境变量,并将这些变量的值用作比较 PHPCS 运行结果的阈值:

  • YOASTCS_THRESHOLD_ERRORS
  • YOASTCS_THRESHOLD_WARNINGS

如果没有设置环境变量,它们将默认为 0,即不允许任何错误或警告。

该报告将不会打印关于找到的问题的任何详细信息,它只显示基于阈值的摘要。

PHP CODE SNIFFER THRESHOLD COMPARISON
------------------------------------------------------------------------------------------------------------------------
Coding standards ERRORS: 148/130.
Coding standards WARNINGS: 539/539.

Please fix any errors introduced in your code and run PHPCS again to verify.
Please fix any warnings introduced in your code and run PHPCS again to verify.

报告运行后,将可用一个全局 YOASTCS_ABOVE_THRESHOLD 常量(布尔值),可以在调用脚本中使用。

要使用此报告,请使用以下命令行参数运行 PHPCS:--report=YoastCS\Yoast\Reports\Threshold注意:根据在运行的操作系统,报告名称中的反斜杠可能需要转义(重复)。

对于那些使用阈值的 Yoast 插件仓库,可以通过以下命令本地检查状态:

composer check-cs-thresholds

变更日志

此包的变更日志可以在 CHANGELOG.md 文件中找到。