PHPackages                             phpcompatibility/phpcompatibility-joomla - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [PSR &amp; Standards](/categories/psr-standards)
4. /
5. phpcompatibility/phpcompatibility-joomla

ActivePhpcodesniffer-standard[PSR &amp; Standards](/categories/psr-standards)

phpcompatibility/phpcompatibility-joomla
========================================

A ruleset for PHP\_CodeSniffer to check for PHP cross-version compatibility issues in projects, while accounting for polyfills provided by Joomla.

2.1.5(7mo ago)362.3k—9.3%21LGPL-3.0-or-laterPHPCI passing

Since Jul 16Pushed 1mo ago3 watchersCompare

[ Source](https://github.com/PHPCompatibility/PHPCompatibilityJoomla)[ Packagist](https://packagist.org/packages/phpcompatibility/phpcompatibility-joomla)[ Docs](http://phpcompatibility.com/)[ GitHub Sponsors](https://github.com/PHPCompatibility)[ GitHub Sponsors](https://github.com/jrfnl)[ RSS](/packages/phpcompatibility-phpcompatibility-joomla/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (9)Dependencies (4)Versions (12)Used By (1)

PHPCompatibilityJoomla
======================

[](#phpcompatibilityjoomla)

[![Latest Stable Version](https://camo.githubusercontent.com/2ae36350dc9d30ca510d152b7aa170f2366d0a5f0a7918026209c959b131073f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f706870636f6d7061746962696c6974792f706870636f6d7061746962696c6974792d6a6f6f6d6c613f6c6162656c3d737461626c65)](https://packagist.org/packages/phpcompatibility/phpcompatibility-joomla)[![Latest Unstable Version](https://camo.githubusercontent.com/6f5c9e13326babec13aa94783c8570062103046539a6d1c1e29b4dc1a9bc3629/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f706870636f6d7061746962696c6974792f706870636f6d7061746962696c6974792d6a6f6f6d6c613f696e636c7564655f70726572656c6561736573266c6162656c3d7072652d72656c65617365)](https://packagist.org/packages/phpcompatibility/phpcompatibility-joomla)[![License](https://camo.githubusercontent.com/71066e13d1877ad712cfbbd0b5d2cc28919ede9992f3398496a53d1d73492d44/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f504850436f6d7061746962696c6974792f504850436f6d7061746962696c6974794a6f6f6d6c613f636f6c6f723d303061376137)](https://github.com/PHPCompatibility/PHPCompatibilityJoomla/blob/master/LICENSE)[![Build Status](https://github.com/PHPCompatibility/PHPCompatibilityJoomla/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/PHPCompatibility/PHPCompatibilityJoomla/actions/workflows/ci.yml)

Using PHPCompatibilityJoomla, you can analyse the codebase of a Joomla-based project for PHP cross-version compatibility.

What's in this repo ?
---------------------

[](#whats-in-this-repo-)

A ruleset for PHP\_CodeSniffer to check for PHP cross-version compatibility issues in projects based on the Joomla CMS.

This Joomla specific ruleset prevents false positives from the [PHPCompatibility standard](https://github.com/PHPCompatibility/PHPCompatibility) by excluding back-fills and polyfills which are provided by Joomla.

Funding
-------

[](#funding)

**This project needs funding.**

The project team has spend thousands of hours creating and maintaining the PHPCompatibility packages. This is unsustainable without funding.

If you use PHPCompatibility, please fund this work by setting up a monthly contribution to the [PHP\_CodeSniffer Open Collective](https://opencollective.com/php_codesniffer).

Requirements
------------

[](#requirements)

- PHP &gt; 5.4
- [PHP\_CodeSniffer](https://github.com/PHPCSStandards/PHP_CodeSniffer) &gt;= 3.13.3. Use the latest stable release of PHP\_CodeSniffer for the best results.
- [PHPCompatibility](https://github.com/PHPCompatibility/PHPCompatibility) 10.0.0+.
- [PHPCompatibilityParagonie](https://github.com/PHPCompatibility/PHPCompatibilityParagonie) 2.0.0+.
- [PHPCompatibilityPasswordCompat](https://github.com/PHPCompatibility/PHPCompatibilityPasswordCompat) 2.0.0+.
- [PHPCompatibilitySymfony](https://github.com/PHPCompatibility/PHPCompatibilitySymfony) 2.0.0+.

Installation instructions
-------------------------

[](#installation-instructions)

The only supported installation method is via [Composer](https://getcomposer.org/).

[Composer](https://getcomposer.org/) will automatically install the project dependencies and register the external rulesets with PHP\_CodeSniffer using the [Composer PHPCS plugin](https://github.com/PHPCSStandards/composer-installer/).

Run the following from the root of your project:

```
composer config allow-plugins.dealerdirect/phpcodesniffer-composer-installer true
composer require --dev phpcompatibility/phpcompatibility-joomla:"^3.0@dev"
```

Next, run:

```
vendor/bin/phpcs -i
```

If all went well, you will now see that the `PHPCompatibility`, `PHPCompatibilityJoomla` and several other PHPCompatibility standards are installed for PHP\_CodeSniffer.

Upgrade instructions
--------------------

[](#upgrade-instructions)

To upgrade this package, run the following command:

```
composer update --dev phpcompatibility/phpcompatibility-joomla --with-dependencies
```

Tip

If you have a *root* requirement in your project for one of the packages used by this project, you may need to update with `--with-all-dependencies` instead.

How to use
----------

[](#how-to-use)

You can now use the following command to inspect your code:

```
vendor/bin/phpcs -p . --standard=PHPCompatibilityJoomla
```

By default, you will only receive notifications about deprecated and/or removed PHP features.

To get the most out of the PHPCompatibilityJoomla standard, you should specify a `testVersion` to check against. That will enable the checks for both deprecated/removed PHP features as well as the detection of code using new PHP features.

The minimum PHP requirement of the Joomla project at this time is PHP 5.3.10. If you want to enforce this, either add `--runtime-set testVersion 5.3-` to your command-line command or add `` to your [custom ruleset](https://github.com/PHPCompatibility/PHPCompatibility#using-a-custom-ruleset).

For example:

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

For more detailed information about setting the `testVersion`, see the README of the generic [PHPCompatibility](https://github.com/PHPCompatibility/PHPCompatibility#sniffing-your-code-for-compatibility-with-specific-php-versions) standard.

### Testing PHP files only

[](#testing-php-files-only)

By default PHP\_CodeSniffer &lt; 4.0 will analyse PHP, JavaScript and CSS files. As the PHPCompatibility sniffs only target PHP code, you can make the run slightly faster by telling PHP\_CodeSniffer to only check PHP files, like so:

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

License
-------

[](#license)

All code within the PHPCompatibility organisation is released under the GNU Lesser General Public License (LGPL). For more information, visit .

###  Health Score

54

—

FairBetter than 97% of packages

Maintenance78

Regular maintenance activity

Popularity35

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 74.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~331 days

Recently: every ~427 days

Total

9

Last Release

208d ago

Major Versions

1.0.0 → 2.0.02018-10-07

2.1.5 → 3.0.0-alpha12025-10-22

### Community

Maintainers

![](https://www.gravatar.com/avatar/c276f443673da81d365a16828d46818ea4e3136f7ce05491abcc70f43c82fa4c?d=identicon)[jrfnl](/maintainers/jrfnl)

![](https://www.gravatar.com/avatar/c1ef3caa2b7d98cb0f2d9bee0e50c47d9a4613ccbb7b8b618b070384e0585604?d=identicon)[wimg](/maintainers/wimg)

---

Top Contributors

[![jrfnl](https://avatars.githubusercontent.com/u/663378?v=4)](https://github.com/jrfnl "jrfnl (101 commits)")[![mbabker](https://avatars.githubusercontent.com/u/368545?v=4)](https://github.com/mbabker "mbabker (20 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (8 commits)")[![wimg](https://avatars.githubusercontent.com/u/313511?v=4)](https://github.com/wimg "wimg (4 commits)")[![fredden](https://avatars.githubusercontent.com/u/334786?v=4)](https://github.com/fredden "fredden (1 commits)")[![GaryJones](https://avatars.githubusercontent.com/u/88371?v=4)](https://github.com/GaryJones "GaryJones (1 commits)")[![zero-24](https://avatars.githubusercontent.com/u/2596554?v=4)](https://github.com/zero-24 "zero-24 (1 commits)")

---

Tags

joomlaphpphp-codesnifferphpcompatibilityphpcs-standardcompatibilitystandardsphpcsstatic analysisjoomla

### Embed Badge

![Health badge](/badges/phpcompatibility-phpcompatibility-joomla/health.svg)

```
[![Health](https://phpackages.com/badges/phpcompatibility-phpcompatibility-joomla/health.svg)](https://phpackages.com/packages/phpcompatibility-phpcompatibility-joomla)
```

###  Alternatives

[phpcompatibility/php-compatibility

A set of sniffs for PHP\_CodeSniffer that checks for PHP cross-version compatibility.

2.3k74.3M1.3k](/packages/phpcompatibility-php-compatibility)[phpcompatibility/phpcompatibility-all

A set of rulesets for PHP\_CodeSniffer to check for PHP cross-version compatibility issues and opportunities to modernize code in PHP projects.

1361.7k](/packages/phpcompatibility-phpcompatibility-all)[phpcompatibility/phpcompatibility-wp

A ruleset for PHP\_CodeSniffer to check for PHP cross-version compatibility issues in projects, while accounting for polyfills provided by WordPress.

22130.6M587](/packages/phpcompatibility-phpcompatibility-wp)[automattic/vipwpcs

PHP\_CodeSniffer rules (sniffs) to enforce WordPress VIP minimum coding conventions

25510.2M145](/packages/automattic-vipwpcs)[phpcompatibility/phpcompatibility-paragonie

A set of rulesets for PHP\_CodeSniffer to check for PHP cross-version compatibility issues in projects, while accounting for polyfills provided by the Paragonie polyfill libraries.

1031.3M10](/packages/phpcompatibility-phpcompatibility-paragonie)[wptrt/wpthemereview

PHP\_CodeSniffer rules (sniffs) to verify theme compliance with the rules for theme hosting on wordpress.org

217736.5k29](/packages/wptrt-wpthemereview)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
