Skip to content

Instantly share code, notes, and snippets.

@mbabker

mbabker/.php_cs Secret

Created March 24, 2019 20:33
Show Gist options
  • Save mbabker/6c940497fb863d4ac21f21f8d4c2248f to your computer and use it in GitHub Desktop.
Save mbabker/6c940497fb863d4ac21f21f8d4c2248f to your computer and use it in GitHub Desktop.
Joomla PHP 5.3 PHP-CS-Fixer Definition
<?php
$mainFinder = PhpCsFixer\Finder::create()
->exclude(
[
'lib', // cache/lib, crypt/lib
'Tests', // crypt/Tests, session/Tests
'_Tests', // session/_Tests
'phputf8', // string/src/phputf8
]
)
->in(
[
__DIR__ . '/application/src',
__DIR__ . '/archive/src',
__DIR__ . '/authentication/src',
__DIR__ . '/cache/src',
__DIR__ . '/compat/src',
__DIR__ . '/controller/src',
__DIR__ . '/crypt', // PSR-0
__DIR__ . '/data/src',
__DIR__ . '/database/src',
__DIR__ . '/date/src',
__DIR__ . '/di/src',
__DIR__ . '/event/src',
__DIR__ . '/facebook-api/src',
__DIR__ . '/filesystem/src',
__DIR__ . '/filter/src',
__DIR__ . '/github-api/src',
__DIR__ . '/google-api/src',
__DIR__ . '/http/src',
__DIR__ . '/image/src',
__DIR__ . '/input/src',
__DIR__ . '/keychain/src',
__DIR__ . '/language/src',
__DIR__ . '/ldap/src',
__DIR__ . '/linkedin-api/src',
__DIR__ . '/log/src',
__DIR__ . '/mediawiki-api/src',
__DIR__ . '/model/src',
__DIR__ . '/oauth1/src',
__DIR__ . '/oauth2/src',
__DIR__ . '/openstreetmap-api/src',
__DIR__ . '/profiler/src',
__DIR__ . '/registry/src',
__DIR__ . '/router/src',
__DIR__ . '/session', // PSR-0
__DIR__ . '/string/src',
__DIR__ . '/test/src',
__DIR__ . '/twitter-api/src',
__DIR__ . '/uri/src',
__DIR__ . '/utilities/src',
__DIR__ . '/view/src',
]
);
return PhpCsFixer\Config::create()
->setRules(
[
// psr-1
'encoding' => true,
'full_opening_tag' => true,
// psr-2
'blank_line_after_namespace' => true,
'braces' => [
'allow_single_line_closure' => false,
'position_after_anonymous_constructs' => 'next',
'position_after_control_structures' => 'next',
'position_after_functions_and_oop_constructs' => 'next',
],
'elseif' => true,
'function_declaration' => true,
'line_ending' => true,
'lowercase_constants' => true,
'lowercase_keywords' => true,
'method_argument_space' => true,
'no_spaces_after_function_name' => true,
'no_spaces_inside_parenthesis' => true,
'no_trailing_whitespace' => true,
'ordered_imports' => true,
'single_blank_line_at_eof' => true,
'single_import_per_statement' => true,
'single_line_after_imports' => true,
'switch_case_semicolon_to_colon' => true,
'visibility_required' => true,
// symfony
'binary_operator_spaces' => ['align_double_arrow' => true, 'align_equals' => true],
'blank_line_before_statement' => [
'statements' => [
'break', 'case', 'continue', 'declare', 'for', 'foreach', 'if', 'return', 'switch', 'throw', 'try',
],
],
'cast_spaces' => true,
'concat_space' => ['spacing' => 'one'],
'dir_constant' => true,
'function_to_constant' => true,
'function_typehint_space' => true,
'include' => true,
'increment_style' => ['style' => 'post'],
'is_null' => ['use_yoda_style' => false],
'lowercase_static_reference' => true,
'magic_constant_casing' => true,
'native_function_casing' => true,
'no_alias_functions' => true,
'no_blank_lines_after_class_opening' => true,
'no_blank_lines_after_phpdoc' => true,
'no_empty_statement' => true,
'no_extra_consecutive_blank_lines' => true,
'no_trailing_comma_in_list_call' => true,
'no_trailing_comma_in_singleline_array' => true,
'no_unneeded_control_parentheses' => true,
'no_unused_imports' => true,
'no_whitespace_before_comma_in_array' => true,
'no_whitespace_in_blank_line' => true,
'phpdoc_trim' => true,
'simplified_null_return' => true,
'single_blank_line_before_namespace' => true,
'single_quote' => true,
'trailing_comma_in_multiline_array' => true,
'whitespace_after_comma_in_array' => true,
'yoda_style' => ['equal' => false, 'identical' => false],
// misc
'array_indentation' => true,
'array_syntax' => ['syntax' => 'long'],
'combine_consecutive_issets' => true,
'combine_consecutive_unsets' => true,
'linebreak_after_opening_tag' => true,
'logical_operators' => true,
'native_function_invocation' => ['include' => ['@compiler_optimized']],
'no_null_property_initialization' => true,
'no_superfluous_elseif' => true,
'no_useless_else' => true,
'no_useless_return' => true,
]
)
->setCacheFile('.php_cs_v1.cache')
->setRiskyAllowed(true)
->setIndent("\t")
->setFinder($mainFinder);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment