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\Drupal7
drupol\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-drupal
Or using the main composer.json
:
composer require --dev drupol/phpcsfixer-configs-drupal
Assuming 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.php
The 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 fix
Every 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 :-)