phpcompatibility / phpcompatibility-joomla
这是一个用于PHP_CodeSniffer的规则集,用于检查项目中PHP跨版本兼容性问题,同时考虑了Joomla提供的polyfills。
Requires
Requires (Dev)
Suggests
- dealerdirect/phpcodesniffer-composer-installer: ^0.7 || 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
PHPCompatibilityJoomla
使用PHPCompatibilityJoomla,您可以分析基于Joomla的项目代码库中的PHP跨版本兼容性。
本仓库包含什么?
这是一个用于PHP_CodeSniffer的规则集,用于检查基于Joomla CMS的项目中的PHP跨版本兼容性问题。
这个针对Joomla特定的规则集通过排除由Joomla提供的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+.
-
PHPCompatibilityPasswordCompat 1.0.0+.
-
PHPCompatibilitySymfony 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-joomla:"*"
如果您已经安装了Composer PHP_CodeSniffer插件,请运行
composer require --dev phpcompatibility/phpcompatibility-joomla:"*"
接下来,运行
vendor/bin/phpcs -i
如果一切顺利,现在您将看到为PHP_CodeSniffer安装了PHPCompatibility
、PHPCompatibilityJoomla
和其他几个PHPCompatibility标准。
如何使用
现在您可以使用以下命令检查您的代码
./vendor/bin/phpcs -p . --standard=PHPCompatibilityJoomla
默认情况下,您将只收到有关已弃用和/或删除的PHP功能的提示。
要充分利用PHPCompatibilityJoomla标准,您应指定一个testVersion
以进行检查。这将启用对已弃用/删除的PHP功能以及使用新PHP功能的代码的检测。
目前Joomla项目的最低PHP要求是PHP 5.3.10。如果您想强制执行此要求,请将--runtime-set testVersion 5.3-
添加到您的命令行命令或添加<config name="testVersion" value="5.3-"/>
到您的自定义规则集。
例如
# For a project which should be compatible with PHP 5.3 and higher: ./vendor/bin/phpcs -p . --standard=PHPCompatibilityJoomla --runtime-set testVersion 5.3-
有关设置testVersion
的更多详细信息,请参阅通用PHPCompatibility标准的README。
仅测试PHP文件
默认情况下,PHP_CodeSniffer将分析PHP、JavaScript和CSS文件。由于PHPCompatibility sniffs仅针对PHP代码,因此您可以通过告诉PHP_CodeSniffer仅检查PHP文件来使运行稍微更快
./vendor/bin/phpcs -p . --standard=PHPCompatibilityJoomla --extensions=php --runtime-set testVersion 5.3-
许可协议
PHPCompatibility组织中的所有代码均根据GNU Lesser General Public License (LGPL)发布。有关更多信息,请访问https://gnu.ac.cn/copyleft/lesser.html
变更日志
2.1.3 - 2022-10-25
- README:更新了安装说明,以兼容 Composer >= 2.2。
- Composer:现在该软件包将自身标识为静态分析工具。感谢 @GaryJones!
- 其他维护工作和文档的微小更新。
2.1.2 - 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.1 - 2019-08-29
- 现在推荐的 Composer PHPCS 插件 版本是
^0.5.0
。
2.1.0 - 2018-12-16
- 规则集:更新以兼容包含在 Joomla 3.9 中的 PHP 7.1 polyfill。
- 规则集现在也针对 PHP 7.3 进行了测试。注意:由于 PHP_CodeSniffer 内部的兼容性问题,仅当与 PHP_CodeSniffer 2.9.2 或 3.3.1+ 结合使用时,才提供完整的 PHP 7.3 支持。
2.0.0 - 2018-10-07
- 规则集:更新以兼容 Joomla 3.9。
- 规则集:更新以兼容 PHPCompatibility 9.0+。
- Composer:为基于 polyfill 的 PHPCompatibility 规则集添加了依赖项。
- CI:为规则集添加了测试。
- Readme:移除了基于非 Composer 的安装说明。
1.0.0 - 2018-07-17
PHPCompatibilityJoomla 规则集的首次发布。