yoast / yoastcs
Yoast项目PHP_CodeSniffer规则
Requires
- php: >=7.2
- ext-tokenizer: *
- automattic/vipwpcs: ^3.0.0
- php-parallel-lint/php-console-highlighter: ^1.0.0
- php-parallel-lint/php-parallel-lint: ^1.4.0
- phpcompatibility/phpcompatibility-wp: ^2.1.4
- phpcsstandards/phpcsextra: ^1.2.1
- phpcsstandards/phpcsutils: ^1.0.10
- sirbrillig/phpcs-variable-analysis: ^2.11.17
- slevomat/coding-standard: ^8.15.0
- squizlabs/php_codesniffer: ^3.9.1
- wp-coding-standards/wpcs: ^3.1.0
Requires (Dev)
- phpcompatibility/php-compatibility: ^9.3.5
- phpcsstandards/phpcsdevtools: ^1.2.1
- phpunit/phpunit: ^8.0 || ^9.0
- roave/security-advisories: dev-master
This package is auto-updated.
Last update: 2024-08-27 15:09:24 UTC
README
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
标准由以下内容组成
- 从WordPress编码标准实现的WordPress PHP编码标准的
WordPress
规则集,有一些选择排除。 - 检查代码的PHP跨版本兼容性的
PHPCompatibilityWP
规则集,同时防止WordPress中填充功能的多版本问题。 VariableAnalysis
规则集。- 从
PHP_CodeSniffer
中选择的附加sniffs。 - 从
PHPCSExtra
中选择的附加sniffs。 - 从
SlevomatCodingStandard
中选择的附加sniffs。 - 从WordPress VIP编码标准中选择的附加sniffs。
- 一些自定义的Yoast特定sniffs。
版本管理和依赖相关目录中的文件,例如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 文件中找到。