jreklund / php-cs-fixer-compat
Compatibility layer for older rules that have changed
v1.0.2
2024-08-07 08:05 UTC
Suggests
- friendsofphp/php-cs-fixer: A tool to automatically fix PHP Coding Standards
- php-cs-fixer/shim: Shim version of PHP-CS-Fixer (recommended)
README
Use older versions of rules in PHP-CS-Fixer v3.61.1 (or newer?).
Installation
composer require --dev jreklund/php-cs-fixer-compat
Requirements
You must install either friendsofphp/php-cs-fixer or php-cs-fixer/shim (recommended) for this package to work.
composer require --dev friendsofphp/php-cs-fixer
composer require --dev php-cs-fixer/shim
Usage
$config = new PhpCsFixer\Config(); return $config ->registerCustomFixers([ new PhpCsFixerCompat\Fixer\Basic\BracesFixer380(), ]) ->setRules([ '@PER' => true, 'control_structure_braces' => false, 'control_structure_continuation_position' => false, 'braces_position' => false, 'no_multiple_statements_per_line' => false, 'statement_indentation' => false, 'PhpCsFixerCompat/braces_380' => true, ]) ->setFinder( PhpCsFixer\Finder::create() ->exclude('vendor') ->in(__DIR__) );
PHP-CS-Fixer/shim
⚠️ Depending on how PHP-CS-Fixer/shim gets executed, you may need to
manually load bootstrap.php
by requiring it in your .php-cs-fixer.php
.
$compatPath = implode(DIRECTORY_SEPARATOR, [ __DIR__, 'vendor', 'jreklund', 'php-cs-fixer-compat', ]); $bootstrap = $compatPath . DIRECTORY_SEPARATOR . 'bootstrap.php'; if (file_exists($bootstrap)) { require $bootstrap; } // config starts here
Rules
All compat rules follow the same naming scheme: PhpCsFixerCompat/{rule}_{version}
.
All fixers can be found under the namespace: PhpCsFixerCompat\Fixer\{custom-fixer}
.
Rule | Version | Compat Rule | Custom Fixer |
---|---|---|---|
braces | 3.8.0 | braces_380 | Basic\BracesFixer380 |