phpcompatibility/phpcompatibility-all

PHP_CodeSniffer 的一组规则集,用于检查 PHP 交叉版本兼容性问题以及在 PHP 项目中现代化代码的机会。

1.1.3 2022-10-30 19:50 UTC

This package is auto-updated.

Last update: 2024-08-24 14:06:53 UTC


README

License Build Status

PHPCompatibilityAll

一个便利的包,用于一次性使用 Composer 安装 PHPCompatibility 组织维护的所有外部 PHP_CodeSniffer 规则集。

本包包含哪些内容?

基本规则集

  • PHPCompatibility Current Version PHPCompatibility - 用于检查代码库的 PHP 交叉版本兼容性的外部 PHP_CodeSniffer 标准。

框架/内容管理系统特定规则集

polyfill 提供者特定规则集

要求

为了获得最佳效果,请使用 PHP_CodeSniffer 的最新稳定版本。PHP_CodeSniffer 的最小 推荐 版本是 2.6.0。

安装说明

如果您尚未安装用于管理 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-all:"*"

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

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

接下来,运行

vendor/bin/phpcs -i

如果一切顺利,您现在将看到为 PHP_CodeSniffer 安装了 PHPCompatibilityPHPCompatibilityJoomlaPHPCompatibilityWP 和一些与 polyfill 相关的标准。

如何使用

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

./vendor/bin/phpcs -p . --standard=PHPCompatibility
./vendor/bin/phpcs -p . --standard=PHPCompatibilityJoomla
./vendor/bin/phpcs -p . --standard=PHPCompatibilityWP
./vendor/bin/phpcs -p . --standard=PHPCompatibilityPasswordCompat
./vendor/bin/phpcs -p . --standard=PHPCompatibilityParagonieRandomCompat
./vendor/bin/phpcs -p . --standard=PHPCompatibilityParagonieSodiumCompat
./vendor/bin/phpcs -p . --standard=PHPCompatibilitySymfonyPolyfillPHP54
./vendor/bin/phpcs -p . --standard=PHPCompatibilitySymfonyPolyfillPHP73
...etc...

# You can also combine the standards if your project uses several:
./vendor/bin/phpcs -p . --standard=PHPCompatibilityPasswordCompat,PHPCompatibilitySymfonyPolyfillPHP70,PHPCompatibilityWP

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

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

  • 您可以通过在命令行命令中添加 --runtime-set testVersion 5.5 来仅针对一个特定的 PHP 版本运行检查。
  • 您还可以指定需要支持的 PHP 版本范围。在这种情况下,将报告影响该范围中任何 PHP 版本的兼容性问题:--runtime-set testVersion 5.3-5.5
  • 从 PHPCompatibility 7.1.3 开始,如果您想支持特定版本以上或以下的所有内容,可以省略范围的一部分,例如使用 --runtime-set testVersion 7.0- 来运行所有 PHP 7.0 及以上版本的检查。

例如

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

# For a project using both the Paragonie Sodium Compat polyfill as well as the Symfony PHP 7.1 polyfill and which should be compatible with PHP 5.4 and higher:
./vendor/bin/phpcs -p . --standard=PHPCompatibilityParagonieSodiumCompat,PHPCompatibilitySymfonyPolyfillPHP71 --runtime-set testVersion 5.4-

有关更详细的信息,请参阅主要 PHPCompatibility 标准的 README。

仅测试 PHP 文件

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

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

许可证

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

变更日志

1.1.3 - 2022-10-30

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

1.1.2 - 2021-02-16

  • 推荐的Composer PHPCS插件版本现在是^0.7.0,它提供了与Composer 2.0的兼容性。Composer PHPCS插件
  • 规则集现在也针对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中提供完整支持。

1.1.1 - 2019-08-29

  • 推荐的Composer PHPCS插件版本现在是^0.5.0
  • 规则集现在也针对PHP 7.3进行了测试。注意:由于PHP_CodeSniffer自身存在不兼容性,仅当与PHP_CodeSniffer 2.9.2或3.3.1+结合使用时,才能获得PHP 7.3的完整支持。

1.1.0 - 2018-10-07

  • 增加了新的规则集PHPCompatibilityPasswordCompat、PHPCompatibilityParagonie和PHPCompatibilitySymfony。

1.0.0 - 2018-07-17

包含PHPCompatibility、PHPCompatibilityJoomla和PHPCompatibilityWP规则集的初始版本。