phpcompatibility/phpcompatibility-passwordcompat

这是一套用于PHP_CodeSniffer的规则集,用于检查项目中PHP跨版本兼容性问题,同时考虑到ircmaxell的password_compat库提供的polyfills。

1.0.4 2022-10-23 14:40 UTC

This package is auto-updated.

Last update: 2024-08-24 16:39:07 UTC


README

Latest Stable Version Latest Unstable Version License Build Status

PHPCompatibilityPasswordCompat

使用PHPCompatibilityPasswordCompat,您可以使用ircmaxell的ircmaxellpassword_compat polyfill库来分析项目代码库,以检查PHP跨版本兼容性。

此存储库包含什么?

这是一套用于PHP_CodeSniffer的规则集,用于检查项目中PHP跨版本兼容性问题,同时考虑到ircmaxell的password_compat polyfill库提供的polyfills。

此规则集通过排除由random_compat库提供的回填和polyfills,防止了PHPCompatibility标准中的假阳性。

要求

安装说明

唯一支持的安装方法是通过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-passwordcompat:"*"

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

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

接下来,运行

vendor/bin/phpcs -i

如果一切顺利,您现在将看到为PHP_CodeSniffer安装了PHPCompatibilityPHPCompatibilityPasswordCompat标准。

如何使用

现在您可以使用以下命令检查项目中PHP跨版本兼容性的代码

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

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

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

例如

# For a project which should be compatible with PHP 5.3 up to and including PHP 7.0:
./vendor/bin/phpcs -p . --standard=PHPCompatibilityPasswordCompat --runtime-set testVersion 5.3-7.0

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

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

仅测试PHP文件

默认情况下,PHP_CodeSniffer将分析PHP、JavaScript和CSS文件。由于PHPCompatibility的sniffs仅针对PHP代码,因此您可以告诉PHP_CodeSniffer只检查PHP文件,这样可以略微加快运行速度

./vendor/bin/phpcs -p . --standard=PHPCompatibilityPasswordCompat --extensions=php --runtime-set testVersion 5.3-

许可

PHPCompatibility 组织内的所有代码均在 GNU Lesser General Public License (LGPL) 协议下发布。更多信息,请访问 https://gnu.ac.cn/copyleft/lesser.html

变更日志

1.0.4 - 2022-10-23

  • README:更新了与 Composer >= 2.2 兼容的安装说明。兼容性
  • Composer:现在将此包标识为静态分析工具。感谢 @GaryJones
  • 其他维护工作和文档更新。

1.0.3 - 2021-02-15

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

1.0.2 - 2019-08-29

  • Composer:Composer PHPCS 插件的推荐版本已提升至 ^0.5.0
  • CI:增加了对 polyfill 库本身变更导致的假阳性结果的前置警告系统。

1.0.1 - 2018-12-16

  • 防止在运行规则集时对 polyfill 自身代码产生假阳性。
  • 现在也测试了规则集对 PHP 7.3 的兼容性。注意:由于 PHP_CodeSniffer 自身的兼容性问题,完整的 PHP 7.3 支持仅在与 PHP_CodeSniffer 2.9.2 或 3.3.1+ 结合使用时可用。

1.0.0 - 2018-10-07

PHPCompatibilityPasswordCompat 规则集的初始发布。