Last active
July 6, 2023 19:12
-
-
Save codfish/c77d348820c1c6b4ebe4a66dc2291c74 to your computer and use it in GitHub Desktop.
PHP-CS-Fixer configuration file. PSR-2 plus some opinionated options to make code cleaner.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Rules we follow are from PSR-2 as well as the rectified PSR-2 guide. | |
* | |
* - https://github.com/FriendsOfPHP/PHP-CS-Fixer | |
* - https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md | |
* - https://github.com/php-fig-rectified/fig-rectified-standards/blob/master/PSR-2-R-coding-style-guide-additions.md | |
* | |
* If something isn't addressed in either of those, some other common community rules are | |
* used that might not be addressed explicitly in PSR-2 in order to improve code quality | |
* (so that devs don't need to comment on them in Code Reviews). | |
* | |
* For instance: removing trailing white space, removing extra line breaks where | |
* they're not needed (back to back, beginning or end of function/class, etc.), | |
* adding trailing commas in the last line of an array, etc. | |
*/ | |
$finder = PhpCsFixer\Finder::create() | |
->exclude('node_modules') | |
->exclude('vendor') | |
->in(__DIR__); | |
return PhpCsFixer\Config::create() | |
->setRules([ | |
'@PSR2' => true, | |
'array_syntax' => [ 'syntax' => 'short' ], | |
'binary_operator_spaces' => [ 'align_equals' => false, 'align_double_arrow' => false ], | |
'cast_spaces' => true, | |
'combine_consecutive_unsets' => true, | |
'concat_space' => [ 'spacing' => 'one' ], | |
'linebreak_after_opening_tag' => true, | |
'no_blank_lines_after_class_opening' => true, | |
'no_blank_lines_after_phpdoc' => true, | |
'no_extra_consecutive_blank_lines' => true, | |
'no_trailing_comma_in_singleline_array' => true, | |
'no_whitespace_in_blank_line' => true, | |
'no_spaces_around_offset' => true, | |
'no_unused_imports' => true, | |
'no_useless_else' => true, | |
'no_useless_return' => true, | |
'no_whitespace_before_comma_in_array' => true, | |
'normalize_index_brace' => true, | |
'phpdoc_indent' => true, | |
'phpdoc_to_comment' => true, | |
'phpdoc_trim' => true, | |
'single_quote' => true, | |
'ternary_to_null_coalescing' => true, | |
'trailing_comma_in_multiline_array' => true, | |
'trim_array_spaces' => true, | |
'method_argument_space' => ['ensure_fully_multiline' => false], | |
'no_break_comment' => false, | |
'blank_line_before_statement' => true, | |
]) | |
->setFinder($finder); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
// ... | |
"scripts": { | |
"lint": "php-cs-fixer fix --diff --dry-run", | |
"fix": "php-cs-fixer fix", | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment