phpcompatibility/phpcompatibility-wp

PHP_CodeSniffer的规则集,用于检查项目中PHP跨版本兼容性问题,同时考虑WordPress提供的polyfills。

安装次数: 17,734,120

依赖关系: 503

建议者: 1

安全: 0

星标: 170

关注者: 10

分支: 10

开放问题: 1

类型:phpcodesniffer-standard

2.1.5 2024-04-24 21:37 UTC

This package is auto-updated.

Last update: 2024-08-24 22:35:51 UTC


README

Latest Stable Version Latest Unstable Version License Build Status

PHPCompatibilityWP

使用PHPCompatibilityWP,您可以分析基于WordPress的项目代码库的PHP跨版本兼容性。

此存储库包含什么?

PHP_CodeSniffer的规则集,用于检查基于WordPress CMS的项目中的PHP跨版本兼容性问题。

此WordPress特定规则集通过排除WordPress提供的回填和polyfills,防止从PHPCompatibility标准中产生误报。

要求

  • PHP_CodeSniffer.

    • PHP 5.3+用于与PHP_CodeSniffer 2.3.0+一起使用。
    • PHP 5.4+用于与PHP_CodeSniffer 3.0.2+一起使用。

    使用PHP_CodeSniffer的最新稳定版本以获得最佳结果。PHP_CodeSniffer的最低推荐版本是2.6.0。

  • PHPCompatibility 9.0.0+.

  • PHPCompatibilityParagonie 1.0.0+.

安装说明

唯一支持的安装方法是通过Composer

如果您尚未安装用于管理PHP_CodeSniffer的installed_paths设置的Composer插件,请在命令行中运行以下命令

composer config allow-plugins.dealerdirect/phpcodesniffer-composer-installer true
composer require --dev dealerdirect/phpcodesniffer-composer-installer:"^0.7" phpcompatibility/phpcompatibility-wp:"*"

如果您已经安装了Composer PHP_CodeSniffer插件,请运行

composer require --dev phpcompatibility/phpcompatibility-wp:"*"

然后,运行

vendor/bin/phpcs -i

如果一切顺利,您现在将看到已为PHP_CodeSniffer安装了PHPCompatibilityPHPCompatibilityWP以及一些其他PHPCompatibility标准。

如何使用

现在,您可以使用以下命令来检查您的代码

./vendor/bin/phpcs -p . --standard=PHPCompatibilityWP

默认情况下,您只会收到有关已弃用和/或删除的PHP功能的通知。

要充分利用PHPCompatibilityWP标准,您应该指定一个testVersion来检查。这将启用对已弃用/删除的PHP功能以及检测使用新PHP功能的代码的检查。

截至WP 5.1的WordPress项目的最低PHP要求是5.2.4。从WP 5.2开始,将是PHP 5.6.20。如果您想强制执行此要求,请将--runtime-set testVersion 5.6-添加到您的命令行命令中,或将<config name="testVersion" value="5.6-"/>添加到您的自定义规则集中。

例如

# For a project which should be compatible with PHP 5.6 and higher:
./vendor/bin/phpcs -p . --standard=PHPCompatibilityWP --runtime-set testVersion 5.6-

有关设置testVersion的更多详细信息,请参阅通用PHPCompatibility标准的README。

仅测试PHP文件

默认情况下,PHP_CodeSniffer将分析PHP、JavaScript和CSS文件。由于PHPCompatibility嗅探器仅针对PHP代码,您可以通过告诉PHP_CodeSniffer仅检查PHP文件来使运行稍微快一些

./vendor/bin/phpcs -p . --standard=PHPCompatibilityWP --extensions=php --runtime-set testVersion 5.6-

许可证

PHPCompatibility组织中的所有代码均根据GNU Lesser General Public License (LGPL)发布。更多信息,请访问https://www.gnu.org/copyleft/lesser.html

变更日志

2.1.5 - 2024-04-25

  • 规则集:已更新以兼容WordPress 6.5。感谢@swissspidy
  • 推荐的Composer PHPCS插件版本现在为^1.0
  • 其他维护和文档更新。包括来自@fredden@johnbillion的贡献。

2.1.4 - 2022-10-24

  • Composer:现在该包将自身识别为静态分析工具。感谢@GaryJones
  • 其他维护和轻微的文档更新。

2.1.3 - 2021-12-31

2.1.2 - 2021-07-21

  • 规则集:已更新以兼容WordPress 5.8。
  • 文档:改进了安装说明。归功于Andy Fragen

2.1.1 - 2021-02-15

  • 推荐的Composer PHPCS插件版本现在为^0.7.0,它提供了与Composer 2.0的兼容性。
  • 规则集现在也针对PHP 7.4和8.0进行测试。注意:仅与PHP_CodeSniffer >= 3.5.6结合使用时,才提供完整的PHP 7.4支持。注意:仅与PHP_CodeSniffer >= 3.5.7结合使用时,才提供运行时PHP 8.0支持,预计PHP_CodeSniffer 3.6.0将提供完整支持。

2.1.0 - 2019-08-29

  • 规则集:已更新以兼容包含在WordPress 5.2中的Sodium_Compat polyfill。
  • Composer:推荐的Composer PHPCS插件版本已提升到^0.5.0
  • 文档:更新了规则集内联文档和Readme,以反映WordPress 5.2及以后版本对PHP最小要求的变化。
  • 文档:更新了规则集内联文档,包括有关每个polyfill何时添加到/从WordPress中删除的信息。
  • CI:现在规则集也针对PHP 7.3进行测试。注意:由于PHP_CodeSniffer内部的兼容性问题,仅与PHP_CodeSniffer 2.9.2或3.3.1+结合使用时,才提供完整的PHP 7.3支持。

2.0.0 - 2018-10-07

  • 规则集:已更新以兼容PHPCompatibility 9.0+。
  • Composer:添加了对基于polyfill的PHPCompatibility规则集的依赖。
  • CI:为规则集添加了测试。
  • Readme:移除了基于非Composer的安装说明。

1.0.0 - 2018-07-17

PHPCompatibilityWP规则集的初始发布。