automattic/jetpack-codesniffer

Jetpack 编码标准。基于 WordPress 编码标准,增加了一些内容。

安装次数: 47,191

依赖项: 1

建议者: 0

安全性: 0

星标: 1

关注者: 3

分支: 1

类型:phpcodesniffer-standard


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 标准包括以下其他标准

目录兼容性

此规则集旨在与 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测试中意义不大的某些规则。