phpcompatibility / phpcompatibility-wp
这是一个针对PHP_CodeSniffer的规则集,用于检查项目中PHP跨版本兼容性问题,同时考虑WordPress提供的polyfills。
Requires
Requires (Dev)
Suggests
- dealerdirect/phpcodesniffer-composer-installer: ^1.0 || This Composer plugin will sort out the PHP_CodeSniffer 'installed_paths' automatically.
- roave/security-advisories: dev-master || Helps prevent installing dependencies with known security issues.
README
PHPCompatibilityWP
使用PHPCompatibilityWP,您可以分析基于WordPress的项目代码库中的PHP跨版本兼容性问题。
此仓库包含什么?
这是一个针对基于WordPress CMS的项目检查PHP跨版本兼容性问题的PHP_CodeSniffer规则集。
这个WordPress特定的规则集通过排除WordPress提供的back-fills和poly-fills来防止从PHPCompatibility标准中出现假阳性。
要求
-
- 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安装了PHPCompatibility
、PHPCompatibilityWP
以及一些其他PHPCompatibility标准。
如何使用
现在,您可以使用以下命令来检查您的代码
./vendor/bin/phpcs -p . --standard=PHPCompatibilityWP
默认情况下,您只会收到有关已弃用和/或删除的PHP功能的警告。
要充分利用PHPCompatibilityWP标准,您应指定一个testVersion
进行检查。这将启用对已弃用/删除的PHP功能以及使用新PHP功能的代码的检测。
WordPress项目截至WP 5.1的最小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 sniffs仅针对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://gnu.ac.cn/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
- 规则集:已更新以兼容WordPress 5.9。
- README:更新了与Composer >= 2.2兼容的安装说明https://blog.packagist.com/composer-2-2/#more-secure-plugin-execution。
- 少量维护。
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 7.4支持仅在PHP_CodeSniffer >= 3.5.6的组合下可用。注意:运行时PHP 8.0支持仅在PHP_CodeSniffer >= 3.5.7的组合下可用,预计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 7.3支持仅在PHP_CodeSniffer 2.9.2或3.3.1+的组合下可用。
2.0.0 - 2018-10-07
- 规则集:已更新以兼容PHPCompatibility 9.0+。
- Composer:为基于polyfill的PHPCompatibility规则集添加了依赖。
- CI:为规则集添加了测试。
- Readme:移除了非Composer安装的安装说明。
1.0.0 - 2018-07-17
PHPCompatibilityWP规则集的初始发布。