fusionspim/php-cs-fixer-config

Default configuration for friendsofphp/php-cs-fixer, as used by the Fusions PIM dev team


Keywords
configuration, php-cs-fixer
License
MIT

Documentation

php-cs-fixer-config

This repository provides configuration for friendsofphp/php-cs-fixer, which we use to verify and enforce a single coding standard for PHP code within Fusions PIM.

Installation

Run composer require --dev fusionspim/php-cs-fixer-config.

Usage

Create a configuration file .php-cs-fixer.dist.php in the root of your project:

<?php
return FusionsPim\PhpCsFixer\Factory::fromDefaults();

Rules

The default rules can be overridden within your project, by passing an optional array:

<?php
return FusionsPim\PhpCsFixer\Factory::fromDefaults([
    'void_return' => false, // We'll do this later since it affects too many closures right now
]);

Files

All .php, .phtml and .phpt files within your project root are checked (other than those in Factory::DEFAULT_EXCLUDED_DIRS or named Factory::DEFAULT_EXCLUDED_NAME) though Finder can easily be reconfigured for your project:

<?php
$config = FusionsPim\PhpCsFixer\Factory::fromDefaults();
$finder = $config->getFinder()->name('*.phtml')->notName('Factory.php');

return $config->setFinder($finder);

Improvements

Pasting Factory::DEFAULT_RULES into the PHP-CS-Fixer Configurator tool lets you visually check all the available fixers and built-in presets. This helps identify newly introduced rules, and opportunities to tighten (or adopt defaults for) existing rules:

PHP-CS-Fixer Configurator

Acknowledgements

Inspired by localheinz/php-cs-fixer-config and refinery29/php-cs-fixer-config.