phpcompatibility/phpcompatibility-joomla

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

2.1.3 2022-10-25 01:52 UTC

This package is auto-updated.

Last update: 2024-08-24 14:32:40 UTC


README

Latest Stable Version Latest Unstable Version License Build Status

PHPCompatibilityJoomla

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

本存储库包含什么?

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

这个针对Joomla特定的规则集通过排除由Joomla提供的back-fills和poly-fills,防止了来自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-joomla:"*"

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

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

接下来,运行

vendor/bin/phpcs -i

如果一切顺利,您现在将看到为PHP_CodeSniffer安装了PHPCompatibilityPHPCompatibilityJoomla以及几个其他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通用公共许可证(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

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规则集的初始版本发布。