{"id":19932033,"url":"https://github.com/phpcompatibility/phpcompatibilityall","last_synced_at":"2026-03-10T13:04:34.971Z","repository":{"id":32730364,"uuid":"140881110","full_name":"PHPCompatibility/PHPCompatibilityAll","owner":"PHPCompatibility","description":"Collection of all the PHPCS rulesets offered by the PHPCompatibility organisation.","archived":false,"fork":false,"pushed_at":"2024-04-24T13:33:33.000Z","size":41,"stargazers_count":10,"open_issues_count":0,"forks_count":2,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-05-01T11:39:53.429Z","etag":null,"topics":["php","php-codesniffer","phpcompatibility","phpcs-standard"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PHPCompatibility.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"open_collective":"php_codesniffer","github":["PHPCompatibility","jrfnl"]}},"created_at":"2018-07-13T18:34:23.000Z","updated_at":"2024-08-05T17:15:50.831Z","dependencies_parsed_at":"2023-12-03T00:23:34.945Z","dependency_job_id":"ea02c160-8e3a-414a-9093-ea725cd77c9a","html_url":"https://github.com/PHPCompatibility/PHPCompatibilityAll","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHPCompatibility%2FPHPCompatibilityAll","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHPCompatibility%2FPHPCompatibilityAll/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHPCompatibility%2FPHPCompatibilityAll/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHPCompatibility%2FPHPCompatibilityAll/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PHPCompatibility","download_url":"https://codeload.github.com/PHPCompatibility/PHPCompatibilityAll/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224360233,"owners_count":17298319,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["php","php-codesniffer","phpcompatibility","phpcs-standard"],"created_at":"2024-11-12T23:08:47.772Z","updated_at":"2026-03-10T13:04:34.965Z","avatar_url":"https://github.com/PHPCompatibility.png","language":null,"readme":"# PHPCompatibilityAll\n\n[![License](https://img.shields.io/github/license/PHPCompatibility/PHPCompatibilityAll?color=00a7a7)](https://github.com/PHPCompatibility/PHPCompatibilityAll/blob/master/LICENSE)\n[![Build Status](https://github.com/PHPCompatibility/PHPCompatibilityAll/actions/workflows/validate.yml/badge.svg?branch=master)](https://github.com/PHPCompatibility/PHPCompatibilityAll/actions/workflows/validate.yml)\n\nConvenience package to install all the external PHP_CodeSniffer rulesets which the [PHPCompatibility organisation](https://github.com/PHPCompatibility) maintains, in one go using Composer.\n\n\n## Funding\n\n**This project needs funding.**\n\nThe project team has spend thousands of hours creating and maintaining the PHPCompatibility packages. This is unsustainable without funding.\n\nIf you use PHPCompatibility, please fund this work by setting up a monthly contribution to the [PHP_CodeSniffer Open Collective].\n\n\n## What's included in this package ?\n\n### Base ruleset\n\n* [![PHPCompatibility Current Version](https://img.shields.io/packagist/v/phpcompatibility/php-compatibility?label=stable)](https://packagist.org/packages/phpcompatibility/php-compatibility) [PHPCompatibility] - External PHP_CodeSniffer standard to check your codebase for PHP cross-version compatibility.\n\n### Framework/CMS specific rulesets\n\n* [![PHPCompatibilityJoomla Current Version](https://img.shields.io/packagist/v/phpcompatibility/phpcompatibility-joomla?label=stable)](https://packagist.org/packages/PHPCompatibility/phpcompatibility-joomla) [PHPCompatibilityJoomla] - PHPCompatibility ruleset specific for Joomla projects.\n* [![PHPCompatibilityWP Current Version](https://img.shields.io/packagist/v/phpcompatibility/phpcompatibility-wp?label=stable)](https://packagist.org/packages/PHPCompatibility/phpcompatibility-wp) [PHPCompatibilityWP] - PHPCompatibility ruleset specific for WordPress projects.\n\n### Polyfill provider specific rulesets\n* [![PHPCompatibilityPasswordCompat Current Version](https://img.shields.io/packagist/v/phpcompatibility/phpcompatibility-passwordcompat?label=stable)](https://packagist.org/packages/phpcompatibility/phpcompatibility-passwordcompat) [PHPCompatibilityPasswordCompat] - PHPCompatibility ruleset specific for projects which use @ircmaxell's [`password_compat`] polyfill library.\n* [![PHPCompatibilityParagonie Current Version](https://img.shields.io/packagist/v/phpcompatibility/phpcompatibility-paragonie?label=stable)](https://packagist.org/packages/phpcompatibility/phpcompatibility-paragonie) [PHPCompatibilityParagonie] - PHPCompatibility rulesets for projects using either the Paragonie [`random_compat`] or the Paragonie [`sodium_compat`] polyfill library, or both.\n* [![PHPCompatibilitySymfony Current Version](https://img.shields.io/packagist/v/phpcompatibility/phpcompatibility-symfony?label=stable)](https://packagist.org/packages/phpcompatibility/phpcompatibility-symfony) [PHPCompatibilitySymfony] - PHPCompatibility rulesets for projects using any of the [PHP polyfill libraries] provided by the Symfony project.\n    For more details about the available rulesets, please check out the [README of the PHPCompatibilitySymfony][PHPCompatibilitySymfony-readme] repository.\n\n\n## Requirements\n\n* PHP \u003e 5.4\n* [PHP_CodeSniffer] \u003e 3.13.3.\n    Use the latest stable release of PHP_CodeSniffer for the best results.\n* [Composer]\n\n\n## Installation instructions\n\nThe only supported installation method is via [Composer].\n\n[Composer] will automatically install the project dependencies and register the external rulesets with PHP_CodeSniffer using the [Composer PHPCS plugin].\n\nRun the following from the root of your project:\n```bash\ncomposer config allow-plugins.dealerdirect/phpcodesniffer-composer-installer true\ncomposer require --dev phpcompatibility/phpcompatibility-all:\"^2.0@dev\"\n```\n\nNext, run:\n```bash\nvendor/bin/phpcs -i\n```\nIf all went well, you will now see that the `PHPCompatibility`, `PHPCompatibilityJoomla`, `PHPCompatibilityWP` and a number of polyfill related standards are installed for PHP_CodeSniffer.\n\n\n## Upgrade instructions\n\nTo upgrade this package, run the following command:\n```bash\ncomposer update --dev phpcompatibility/phpcompatibility-all --with-dependencies\n```\n\n\u003e [!TIP]\n\u003e 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.\n\n\n## How to use\n\nYou can now use any of the following commands to inspect your code:\n```bash\nvendor/bin/phpcs -p . --standard=PHPCompatibility\nvendor/bin/phpcs -p . --standard=PHPCompatibilityJoomla\nvendor/bin/phpcs -p . --standard=PHPCompatibilityWP\nvendor/bin/phpcs -p . --standard=PHPCompatibilityPasswordCompat\nvendor/bin/phpcs -p . --standard=PHPCompatibilityParagonieRandomCompat\nvendor/bin/phpcs -p . --standard=PHPCompatibilityParagonieSodiumCompat\nvendor/bin/phpcs -p . --standard=PHPCompatibilitySymfonyPolyfillPHP54\nvendor/bin/phpcs -p . --standard=PHPCompatibilitySymfonyPolyfillPHP73\n...etc...\n\n# You can also combine the standards if your project uses several:\n./vendor/bin/phpcs -p . --standard=PHPCompatibilityPasswordCompat,PHPCompatibilitySymfonyPolyfillPHP70,PHPCompatibilityWP\n```\n\nBy default, you will only receive notifications about deprecated and/or removed PHP features.\n\nTo get the most out of the PHPCompatibility standards, 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.\n\n* You can run the checks for just one specific PHP version by adding `--runtime-set testVersion 5.5` to your command line command.\n* You can also specify a range of PHP versions that your code needs to support. In this situation, compatibility issues that affect any of the PHP versions in that range will be reported: `--runtime-set testVersion 5.3-5.5`.\n* Since PHPCompatibility 7.1.3, you can omit one part of the range if you want to support everything above or below a particular version, i.e. use `--runtime-set testVersion 7.0-` to run all the checks for PHP 7.0 and above.\n\nFor example:\n```bash\n# For a Joomla project which should be compatible with PHP 5.3 up to and including PHP 7.0:\nvendor/bin/phpcs -p . --standard=PHPCompatibilityJoomla --runtime-set testVersion 5.3-7.0\n\n# For a project using both the Paragonie Sodium Compat polyfill, as well as the Symfony\n# PHP 7.1 polyfill and which should be compatible with PHP 5.4 and higher:\nvendor/bin/phpcs -p . --standard=PHPCompatibilityParagonieSodiumCompat,PHPCompatibilitySymfonyPolyfillPHP71 --runtime-set testVersion 5.4-\n```\n\nFor more detailed information, see the README of the main [PHPCompatibility][PHPCompatibility-testVersion] standard.\n\n\n### Testing PHP files only\n\nBy default PHP_CodeSniffer 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:\n```bash\nvendor/bin/phpcs -p . --standard=PHPCompatibilitySymfonyPolyfillPHP56 --extensions=php --runtime-set testVersion 5.3-\n```\n\n## License\n\nAll code within the PHPCompatibility organisation is released under the GNU Lesser General Public License (LGPL).\nFor more information, visit \u003chttps://www.gnu.org/licenses/lgpl-3.0.html\u003e.\n\n\n[Composer]:                        https://getcomposer.org/\n[Composer PHPCS plugin]:           https://github.com/PHPCSStandards/composer-installer/\n[PHP_CodeSniffer]:                 https://github.com/PHPCSStandards/PHP_CodeSniffer\n[PHP_CodeSniffer Open Collective]: https://opencollective.com/php_codesniffer\n[PHPCompatibility]:                https://github.com/PHPCompatibility/PHPCompatibility\n[PHPCompatibility-testVersion]:    https://github.com/PHPCompatibility/PHPCompatibility#sniffing-your-code-for-compatibility-with-specific-php-versions\n[PHPCompatibilityParagonie]:       https://github.com/PHPCompatibility/PHPCompatibilityParagonie\n[PHPCompatibilityPasswordCompat]:  https://github.com/PHPCompatibility/PHPCompatibilityPasswordCompat\n[PHPCompatibilitySymfony]:         https://github.com/PHPCompatibility/PHPCompatibilitySymfony\n[PHPCompatibilityJoomla]:          https://github.com/PHPCompatibility/PHPCompatibilityJoomla\n[PHPCompatibilityWP]:              https://github.com/PHPCompatibility/PHPCompatibilityWP\n[`password_compat`]:               https://github.com/ircmaxell/password_compat\n[`random_compat`]:                 https://github.com/paragonie/random_compat\n[`sodium_compat`]:                 https://github.com/paragonie/sodium_compat\n[PHP polyfill libraries]:          https://github.com/symfony?utf8=?\u0026q=polyfill\n[PHPCompatibilitySymfony-readme]:  https://github.com/PHPCompatibility/PHPCompatibilitySymfony/blob/master/README.md\n","funding_links":["https://opencollective.com/php_codesniffer","https://github.com/sponsors/PHPCompatibility","https://github.com/sponsors/jrfnl"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphpcompatibility%2Fphpcompatibilityall","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphpcompatibility%2Fphpcompatibilityall","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphpcompatibility%2Fphpcompatibilityall/lists"}