automattic / jetpack-codesniffer
Jetpack 编码标准。基于 WordPress 编码标准,增加了一些内容。
Requires
- php: >=7.4
- automattic/vipwpcs: ^3.0
- dealerdirect/phpcodesniffer-composer-installer: ^1.0
- mediawiki/mediawiki-codesniffer: ^43.0
- phpcompatibility/phpcompatibility-wp: ^2.1
- sirbrillig/phpcs-variable-analysis: ^2.10
- wp-coding-standards/wpcs: ^3.0
Requires (Dev)
- automattic/jetpack-changelogger: ^4.2.6
- yoast/phpunit-polyfills: ^1.1.1
- dev-trunk / 4.0.x-dev
- v4.0.0
- v3.0.0
- v2.8.0
- v2.7.0
- v2.6.1
- v2.6.0
- v2.5.0
- v2.4.0
- v2.3.0
- v2.2.1
- v2.2.0
- v2.1.1
- v2.1.0
- v2.0.0
- v1.1.0
- v1.0.0
- dev-prerelease
- dev-fix/slack-workflow-branch-detection
- dev-fix/release-branch-typo
- dev-update/generate-branch-plugin
- dev-release-v2.2.0
- dev-release-v2.1.1
- dev-feature/reorg
- dev-release-v2.1.0
- dev-release-v2.0.0
- dev-release-v1.1.0
- dev-release-v1.0.0
This package is auto-updated.
Last update: 2024-09-18 03:17:40 UTC
README
这是一个实现 phpcs sniffs 的 Jetpack 编码标准的包。
该标准通常是 WordPress 的标准,增加了一些内容。
用法
在您的项目 composer.json
文件中添加以下行
{ "require-dev": { "dealerdirect/phpcodesniffer-composer-installer": "*", "automattic/jetpack-codesniffer": "^1" } }
您的项目必须使用默认的 composer 供应商目录,vendor
。
然后,您应该在 .phpcs.xml.dist
中包含 Jetpack 规则,例如
<rule ref="Jetpack" />
您可能还需要为其他包含的规则集设置一些配置
<config name="minimum_supported_wp_version" value="6.3" /> <config name="testVersion" value="7.0-"/>
包含的标准
Jetpack 标准包括以下其他标准
- PHPCompatibilityWP
- WordPress-Core, WordPress-Docs, 和 WordPress-Extra
- VariableAnalysis
- 从 MediaWiki 选择的 sniffs
目录兼容性
此规则集旨在与 PHPCompatibiity 的 testVersion
设置为 7.0-
一起使用。如果与 automattic/jetpack-phpcs-filter 的目录配置一起使用,可能会遇到某个子目录想要向下兼容到较新版本的情况,但由于 PHPCompatibiity 使用 <config>
为 testVersion
,因此无法直接按目录更改设置。
为了帮助这种情况,我们提供了额外的规则集,以禁用仅适用于旧版本的 PHPCompatibility 规则检测问题
<rule ref="Jetpack-Compat-71" />
将禁用仅适用于 PHP < 7.1 的规则检测问题。<rule ref="Jetpack-Compat-72" />
将禁用仅适用于 PHP < 7.2 的规则检测问题。<rule ref="Jetpack-Compat-73" />
将禁用仅适用于 PHP < 7.3 的规则检测问题。<rule ref="Jetpack-Compat-74" />
将禁用仅适用于 PHP < 7.4 的规则检测问题。<rule ref="Jetpack-Compat-80" />
将禁用仅适用于 PHP < 8.0 的规则检测问题。<rule ref="Jetpack-Compat-81" />
将禁用仅适用于 PHP < 8.1 的规则检测问题。<rule ref="Jetpack-Compat-82" />
将禁用仅适用于 PHP < 8.2 的规则检测问题。<rule ref="Jetpack-Compat-83" />
将禁用仅适用于 PHP < 8.3 的规则检测问题。
请注意,这并不是提高 testVersion
的完美替代品,因为它不能 添加 PHPCompatibility 规则,这些规则在 testVersion
指示支持 PHP 7.0 时不会触发。例如,Jetpack-Compat-74
禁用了 PHPCompatibility.Classes.NewTypedProperties.Found
规则("Typed properties are not supported in PHP 7.3 or earlier"),但不能启用更具体的规则,如 PHPCompatibility.Classes.NewTypedProperties.UnionTypeFound
("Union types are not present in PHP version 7.4 or earlier"),这些规则会在将 testVersion
设置为 7.4-
时被触发。
您还可能遇到某些子目录包含不打算在 WordPress 下运行的代码的情况。我们为此情况也提供了额外的规则集
<rule ref="Jetpack-Compat-NoWP" />
将重新启用 PHPCompatibilityWP 因 WordPress 提供各种函数的 polyfills 而禁用的规则。<rule ref="Jetpack-NoWP" />
包含 Jetpack-Compat-NoWP 并禁用检查是否使用 WordPress 提供的函数而不是 PHP 原生函数的额外规则。<rule ref="Jetpack-Tests" />
将禁用在PHPUnit测试中意义不大的某些规则。