2017 © Pedro Peláez
 

phpcodesniffer-standard phpcompatibility-joomla

A set of sniffs for PHP_CodeSniffer that checks for PHP version compatibility for Joomla projects.

image

phpcompatibility/phpcompatibility-joomla

A set of sniffs for PHP_CodeSniffer that checks for PHP version compatibility for Joomla projects.

  • Wednesday, July 18, 2018
  • by wimg
  • Repository
  • 3 Watchers
  • 0 Stars
  • 32 Installations
  • 1 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

Latest Stable Version Latest Unstable Version License Build Status, (*1)

PHPCompatibilityJoomla

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

What's in this repo ?

A ruleset for PHP_CodeSniffer to check for PHP cross-version compatibility issues in projects based on the Joomla CMS., (*3)

This Joomla specific ruleset prevents false positives from the PHPCompatibility standard by excluding back-fills and poly-fills which are provided by Joomla., (*4)

Requirements

Installation instructions

The only supported installation method is via Composer., (*7)

If you don't have a Composer plugin installed to manage the installed_paths setting for PHP_CodeSniffer, run the following from the command-line:, (*8)

composer config allow-plugins.dealerdirect/phpcodesniffer-composer-installer true
composer require --dev dealerdirect/phpcodesniffer-composer-installer:"^0.7" phpcompatibility/phpcompatibility-joomla:"*"

If you already have a Composer PHP_CodeSniffer plugin installed, run:, (*9)

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

Next, run:, (*10)

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., (*11)

How to use

Now you can use the following command to inspect your code:, (*12)

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

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

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., (*14)

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 <config name="testVersion" value="5.3-"/> to your custom ruleset., (*15)

For example:, (*16)

# 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 standard., (*17)

Testing PHP files only

By 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:, (*18)

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

License

All code within the PHPCompatibility organisation is released under the GNU Lesser General Public License (LGPL). For more information, visit https://www.gnu.org/copyleft/lesser.html, (*19)

Changelog

2.1.3 - 2022-10-25

  • README: Updated the installation instructions for compatibility with Composer >= 2.2.
  • Composer: The package will now identify itself as a static analysis tool. Thanks @GaryJones!
  • Other housekeeping and minor documentation updates.

2.1.2 - 2021-02-15

  • The recommended version of the Composer PHPCS plugin is now ^0.7.0, which offers compatibility with Composer 2.0.
  • The ruleset is now also tested against PHP 7.4 and 8.0. Note: full PHP 7.4 support is only available in combination with PHP_CodeSniffer >= 3.5.6. Note: runtime PHP 8.0 support is only available in combination with PHP_CodeSniffer >= 3.5.7, full support is expected in PHP_CodeSniffer 3.6.0.

2.1.1 - 2019-08-29

2.1.0 - 2018-12-16

  • Ruleset: Updated for the PHP 7.1 polyfill which is included in Joomla 3.9.
  • The ruleset is now also tested against PHP 7.3. Note: full PHP 7.3 support is only available in combination with PHP_CodeSniffer 2.9.2 or 3.3.1+ due to an incompatibility within PHP_CodeSniffer itself.

2.0.0 - 2018-10-07

  • Ruleset: Updated for Joomla 3.9.
  • Ruleset: Updated for compatibility with PHPCompatibility 9.0+.
  • Composer: Added dependencies for the dedicated polyfill-based PHPCompatibility rulesets.
  • CI: Added a test for the ruleset.
  • Readme: Removed the installation instructions for a non-Composer based install.

1.0.0 - 2018-07-17

Initial release of the PHPCompatibilityJoomla ruleset., (*20)

The Versions

18/07 2018

dev-master

9999999-dev http://phpcompatibility.com/

A set of sniffs for PHP_CodeSniffer that checks for PHP version compatibility for Joomla projects.

  Sources   Download

LGPL-3.0-or-later

The Requires

 

by Wim Godden

phpcs joomla standards compatibility

17/07 2018

1.0.0

1.0.0.0 http://phpcompatibility.com/

A set of sniffs for PHP_CodeSniffer that checks for PHP version compatibility for Joomla projects.

  Sources   Download

LGPL-3.0-or-later

The Requires

 

by Wim Godden
by Mihael Babker

phpcs joomla standards compatibility