Search by

rvxlab / php-cs-fixer-rules

rvxlab

My PHP CS Fixer rules

Package info

code.rvx.works/RVxLab/php-cs-fixer-rules

pkg:composer/rvxlab/php-cs-fixer-rules

Statistics

Installs: 119

Dependents: 2

Suggesters: 0

2.1.0 2026-10-23 00:43 UTC

This package is auto-updated.

Last update: 2026-10-23 00:43:26 UTC


README

Packagist Version Packagist Downloads PHP Version

My custom rulesets for PHP CS Fixer 3.88+.

It's based on PER-CS3 and Nuno Maduro's Essentials package.

Installation

Install through Composer:

composer require --dev rvxlab/php-cs-fixer-rules

This package is also available through Forgejo. Add the following repository, then require the package:

{
    "type": "composer",
    "url": "https://code.rvx.works/api/packages/RVxLab/composer"
}

In your .php-cs-fixer.php register the rulesets and enable them:

return (new PhpCsFixer\Config())
    ->registerCustomRuleSets([
        new RVxLab\PhpCsFixerRules\RuleSet(),
        new RVxLab\PhpCsFixerRules\RuleSetRisky(),
    ])
    ->setRiskyAllowed(true)
    ->setRules([
        RVxLab\PhpCsFixerRules\RuleSet::NAME => true,
        RVxLab\PhpCsFixerRules\RuleSetRisky::NAME => true,
    ]);

Overriding Rules

Rules can be overridden by setting them in the constructor of each ruleset:

new RVxLab\PhpCsFixerRules\RuleSet([
    'lowercase_keywords' => false,
])

Overriding rules happens shallowly using array_merge.

If you override a rule that's an array, say global_namespace_import, any keys not mentioned are removed:

new RVxLab\PhpCsFixerRules\RuleSet([
    'global_namespace_import' => [
        'import_constants' => false,
        // These are removed from the final ruleset:
        // 'import_classes' => true,
        // 'import_functions' => true,
    ],
])

License

This package is licensed under the MIT License.