Last active
October 3, 2024 21:26
-
-
Save petericebear/72e2b462f59b305c551c to your computer and use it in GitHub Desktop.
Laravel 5.x php-cs-fixer config file
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 | |
$finder = Symfony\Component\Finder\Finder::create() | |
->notPath('bootstrap/cache') | |
->notPath('storage') | |
->notPath('vendor') | |
->in(__DIR__) | |
->name('*.php') | |
->notName('*.blade.php') | |
->ignoreDotFiles(true) | |
->ignoreVCS(true); | |
$fixers = [ | |
'-psr0', | |
//'align_double_arrow', | |
'binary_operator_spaces', | |
'blank_line_after_namespace', | |
'blank_line_after_opening_tag', | |
'blank_line_before_return', | |
'braces', | |
'cast_spaces', | |
'class_definition', | |
'concat_without_spaces', | |
'elseif', | |
'encoding', | |
'full_opening_tag', | |
'function_declaration', | |
'function_typehint_space', | |
'hash_to_slash_comment', | |
'heredoc_to_nowdoc', | |
'include', | |
'lowercase_cast', | |
'lowercase_constants', | |
'lowercase_keywords', | |
'method_argument_space', | |
'method_separation', | |
'native_function_casing', | |
'new_with_braces', | |
'no_alias_functions', | |
'no_blank_lines_after_class_opening', | |
'no_blank_lines_after_phpdoc', | |
'no_blank_lines_between_uses', | |
'no_closing_tag', | |
'no_duplicate_semicolons', | |
'no_empty_phpdoc', | |
'no_extra_consecutive_blank_lines', | |
'no_leading_import_slash', | |
'no_leading_namespace_whitespace', | |
'no_multiline_whitespace_around_double_arrow', | |
'no_multiline_whitespace_before_semicolons', | |
'no_short_bool_cast', | |
'no_singleline_whitespace_before_semicolons', | |
'no_spaces_after_function_name', | |
'no_spaces_inside_parenthesis', | |
'no_tab_indentation', | |
'no_trailing_comma_in_list_call', | |
'no_trailing_comma_in_singleline_array', | |
'no_trailing_whitespace', | |
'no_trailing_whitespace_in_comment', | |
'no_unneeded_control_parentheses', | |
'no_unreachable_default_argument_value', | |
'no_unused_imports', | |
'no_useless_return', | |
'no_whitespace_before_comma_in_array', | |
'no_whitespace_in_blank_lines', | |
'not_operator_with_successor_space', | |
'object_operator_without_whitespace', | |
'ordered_imports', | |
'phpdoc_align', | |
'phpdoc_indent', | |
'phpdoc_inline_tag', | |
'phpdoc_no_access', | |
'phpdoc_no_package', | |
'phpdoc_order', | |
'phpdoc_params', | |
'phpdoc_scalar', | |
'phpdoc_separation', | |
'phpdoc_short_description', | |
'phpdoc_summary', | |
'phpdoc_to_comment', | |
'phpdoc_trim', | |
'phpdoc_type_to_var', | |
'phpdoc_types', | |
'phpdoc_var_without_name', | |
'print_to_echo', | |
'psr4', | |
'self_accessor', | |
'short_array_syntax', | |
'short_scalar_cast', | |
'simplified_null_return', | |
'single_blank_line_at_eof', | |
'single_blank_line_before_namespace', | |
'single_import_per_statement', | |
'single_line_after_imports', | |
'single_quote', | |
'space_after_semicolon', | |
'standardize_not_equals', | |
'switch_case_semicolon_to_colon', | |
'switch_case_space', | |
'ternary_operator_spaces', | |
'trailing_comma_in_multiline_array', | |
'trim_array_spaces', | |
'unalign_equals', | |
'unary_operator_spaces', | |
'unix_line_endings', | |
'visibility_required', | |
'whitespace_after_comma_in_array', | |
]; | |
return Symfony\CS\Config\Config::create() | |
->level(Symfony\CS\FixerInterface::PSR2_LEVEL) | |
->fixers($fixers) | |
->finder($finder) | |
->setUsingCache(false); |
Can anybody confirm to made it working with php-cs-fixer ver.2?
Yes , we changed it to this:
<?php
$finder = PhpCsFixer\Finder::create()
->notPath('bootstrap/cache')
->notPath('storage')
->notPath('vendor')
->in(__DIR__)
->name('*.php')
->notName('*.blade.php')
->ignoreDotFiles(true)
->ignoreVCS(true)
;
return PhpCsFixer\Config::create()
->setRules(array(
'@Symfony' => true,
'binary_operator_spaces' => ['align_double_arrow' => false],
'array_syntax' => ['syntax' => 'short'],
'linebreak_after_opening_tag' => true,
'not_operator_with_successor_space' => true,
'ordered_imports' => true,
'phpdoc_order' => true,
))
->setFinder($finder)
;
Guys, thanks for sharing your configs!
Proposed changes for @jeystaats's config:
- Change
'binary_operator_spaces' => ['align_double_arrow' => false]
to'binary_operator_spaces' => ['operators' => ['=>' => null]]
(asalign_double_arrow
option is deprecated now). - [subjectively] Add
'phpdoc_no_empty_return' => false
to comply with the Laravel base code (@return void
is used everywhere).
Any ideas on how to add a rule to align phpdoc tags according to Laravel Coding Style (two spaces in @param
tag)?
I also find these useful for myself:
'@Symfony:risky' => true,
'php_unit_construct' => false
Am I not mistaken, but doesn't the framework use 'ordered_imports' => ['sortAlgorithm' => 'length'],
? Just curious here.
laravel no longer sort the imports by length, but instead uses alphabetical order.
Oh men i really have to update this gist haha.
Will update it this week
It would be great, please do it this way.
https://gist.githubusercontent.com/ShahinSorkh/f8d9284950f2f073aaa2c2ff11300321/raw/.php_cs
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thank you for your addition! Sorry, just saw the contribution.