['comment_type' => "phpdocs_only"], 'array_syntax' => ['syntax' => "short"], 'binary_operator_spaces' => [ //'default' => "single_space", //'operators' => ['=>' => "align_single_space"], ], 'cast_spaces' => ['space' => "single"], 'concat_space' => ['spacing' => "none"], //'list_syntax' => ['syntax' => "short"], 'magic_constant_casing' => true, 'magic_method_casing' => true, 'modernize_types_casting' => true, 'native_function_casing' => true, 'native_function_type_declaration_casing' => true, 'no_binary_string' => true, 'no_blank_lines_after_phpdoc' => true, 'no_empty_comment' => true, 'no_empty_phpdoc' => true, 'no_extra_blank_lines' => true, // this could probably use more configuration 'no_mixed_echo_print' => ['use' => "echo"], 'no_short_bool_cast' => true, 'no_trailing_comma_in_singleline_array' => true, 'no_unneeded_control_parentheses' => true, 'no_unneeded_curly_braces' => true, 'no_unused_imports' => true, 'no_whitespace_before_comma_in_array' => true, 'normalize_index_brace' => true, 'object_operator_without_whitespace' => true, 'pow_to_exponentiation' => true, 'set_type_to_cast' => true, 'standardize_not_equals' => true, 'trailing_comma_in_multiline_array' => true, 'unary_operator_spaces' => true, 'yoda_style' => false, // PSR standard to apply '@PSR2' => true, // PSR-12 rules; php-cs-fixer does not yet support PSR-12 natively 'compact_nullable_typehint' => true, 'declare_equal_normalize' => ['space' => "none"], 'function_typehint_space' => true, 'lowercase_cast' => true, 'lowercase_static_reference' => true, 'no_alternative_syntax' => true, 'no_empty_statement' => true, 'no_leading_import_slash' => true, 'no_leading_namespace_whitespace' => true, 'no_whitespace_in_blank_line' => true, 'return_type_declaration' => ['space_before' => "none"], 'single_trait_insert_per_statement' => true, 'short_scalar_cast' => true, //'visibility_required' => ['elements' => ["const", "property", "method"]], // house exceptions to PSR rules 'braces' => ['position_after_functions_and_oop_constructs' => "same"], 'function_declaration' => ['closure_function_spacing' => "none"], 'new_with_braces' => false, // no option to specify absence of braces ]; $finder = \PhpCsFixer\Finder::create(); foreach ($paths as $path) { if (is_file($path)) { $finder = $finder->append([$path]); } else { $finder = $finder->in($path); } } return \PhpCsFixer\Config::create()->setRiskyAllowed(true)->setRules($rules)->setFinder($finder);