This package provides a set [PHP-Cs-Fixer](https://github.com/FriendsOfPHP/PHP CS Fixer) configuration objects ready to be used in a Drupal project.
Available configuration objects:
drupol\PhpCsFixerConfigsDrupal\Config\Drupal7drupol\PhpCsFixerConfigsDrupal\Config\Drupal8
- PHP >= 8.0
- friendsofphp/php-cs-fixer >= 3.35
The recommended way to install PHP CS Fixer Drupal is to use Composer in a dedicated composer.json file in your project, for example in the tools/php-cs-fixer directory:
mkdir -p tools/php-cs-fixer
composer require --dev --working-dir=tools/php-cs-fixer drupol/phpcsfixer-configs-drupalOr using the main composer.json:
composer require --dev drupol/phpcsfixer-configs-drupalAssuming you installed PHP CS Fixer as instructed above, you should now setup a configuration .php-cs-fixer.php file in the root directory of your project.
touch .php-cs-fixer.phpThe example below setup PHP CS Fixer to use Drupal 8/9/10 rules:
<?php
use drupol\PhpCsFixerConfigsDrupal\Config\Drupal8;
$finder = PhpCsFixer\Finder::create()
->in(['web/modules/custom'])
->name('*.module')
->name('*.inc')
->name('*.install')
->name('*.test')
->name('*.profile')
->name('*.theme')
->notPath('*.md')
->notPath('*.info.yml')
;
$config = new Drupal8();
$config->setFinder($finder);
$rules = $config->getRules();
$config->setRules($rules);
return $config;See the PHP CS Fixer documentation on how to use the advanced configuration object.
Assuming you installed PHP CS Fixer as instructed above, you can run the following command to fix your Drupal project:
tools/php-cs-fixer/vendor/bin/php-cs-fixer fixEvery time changes are introduced into the library, Github Actions run the tests and the benchmarks.
The library has tests written with PHPUnit.
Feel free to check them out in the tests directory. Run ./vendor/bin/phpunit to trigger the tests.
Before each commit some inspections are executed with GrumPHP, run ./vendor/bin/grumphp run to check manually.
Feel free to contribute to this library by sending Github pull requests. I'm quite reactive :-)