Skip to content

Latest commit

 

History

History
97 lines (60 loc) · 3 KB

README.md

File metadata and controls

97 lines (60 loc) · 3 KB

Relax - Centralized PHP-CS-Fixer Rule Config

PHPVersion Packagist Version (custom server) Build Status

Relax is built on top of PHP-CS-Fixer and makes it easy to provide a standardized way to apply coding standards across multiple projects, ensuring consistency and adherence to best practices.

By using predefined rulesets, it simplifies the setup process and allows teams to quickly integrate PHP-CS-Fixer into their development workflow.

Installation

You can install this package by using composer:

composer require --dev realodix/relax

Running Relax

./vendor/bin/php-cs-fixer fix

For more details, see PHP-CS-Fixer documentation.

Configuring Relax

You can easily create your own rule set by extending the Realodix\Relax\RuleSet\AbstractRuleSet class and use it! See docs/example_ruleset.md for an example of how to create your own rule set.

<?php

use Realodix\Relax\Config;
use Vendor\Package\MyRuleSet;

return Config::create(new MyRuleSet);

Sometimes for big dirty projects, you want to implement some local rules without implementing a ruleset, why not.

$localRules = [
    // ...
];

Config::create()
    ->setRules($localRules);

For advanced configuration, see the docs/advanced_configuration.md

Presets

Preset defines a built-in set of rules that are ready to be used to fix code style issues in your code.

Preset Description
laravel Rules that follow the official Laravel coding standards
relax Laravel based with a few tweaks
spatie The rule set used by Spatie
Config::create('laravel')

Finder Sets

By default, Relax will inspect all .php files in your project except those in the vendor directory.

Method Description
Finder::base() The basic finder setup should be perfect for most PHP projects
Finder::laravel() Inherits Finder::base() with some specific tweaks to Laravel

💡 By default, if finder is not set Relax will use Finder::base().

Troubleshooting

For general help and support join our GitHub Discussions.

Please report bugs to the GitHub Issue Tracker.

License

This package is licensed under the MIT License.