Skip to content

Instantly share code, notes, and snippets.

@kgust
Last active June 17, 2020 12:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save kgust/c96969fbd2afe50977c4d704d8242c34 to your computer and use it in GitHub Desktop.
Save kgust/c96969fbd2afe50977c4d704d8242c34 to your computer and use it in GitHub Desktop.
Configurations for php-cs-fixer (we are using phpcs and phpcbf instead)
<?php
require('./vendor/autoload.php');
$finder = PhpCsFixer\Finder::create()
->notPath('vendor')
->in(__DIR__)
->name('*.php')
->ignoreDotFiles(true)
->ignoreVcs(true)
;
$config = PhpCsFixer\Config::create()
->setRiskyAllowed(false)
->setRules([
'@PSR2' => true,
'align_multiline_comment' => true,
'array_syntax' => ['syntax' => 'short'],
'cast_spaces' => ['space' =>'single'],
'concat_space' => ['spacing' => 'one'],
'declare_equal_normalize' => ['space' => 'single'],
'native_function_casing' => true,
'no_blank_lines_after_class_opening' => true,
'no_blank_lines_after_phpdoc' => true,
'no_empty_comment' => true,
'no_empty_phpdoc' => true,
'no_empty_statement' => true,
'no_leading_namespace_whitespace' => true,
'no_singleline_whitespace_before_semicolons' => true,
'no_unused_imports' => true,
'no_useless_else' => true,
'no_useless_return' => true,
'no_whitespace_in_blank_line' => true,
'normalize_index_brace' => true,
'ordered_class_elements' => true,
'ordered_imports' => true,
'php_unit_test_class_requires_covers' => true,
'phpdoc_order' => true,
'protected_to_private' => true,
'self_accessor' => true,
'single_line_comment_style' => true,
'single_quote' => true,
'space_after_semicolon' => true,
'whitespace_after_comma_in_array' => true
])
->setFinder($finder)
->setCacheFile('php_cs.cache')
;
var_dump($config);
return $config;
<?php
// Credit for the original goes Bryce Embry
// # Move it to the default location or run it from where it is...
// cp php_cs.dist .php_cs
// To Run:
// php-cs-fixer fix --verbose --config=php_cs.dist
$finder = PhpCsFixer\Finder::create()
->notPath('bin')
->notPath('data')
->notPath('debug')
->notPath('docker')
->notPath('external')
->notPath('public')
->notPath('maintenance')
->notPath('node_Modules')
->notPath('var')
->notPath('vendor')
->in(__DIR__)
->name('*.php')
->ignoreDotFiles(true)
->ignoreVcs(true)
;
$config = PhpCsFixer\Config::create()
->setRiskyAllowed(false)
->setRules([
'@PSR2' => true,
//'align_multiline_comment' => true,
'array_syntax' => ['syntax' => 'short'],
//'cast_spaces' => ['space' =>'single'],
'concat_space' => ['spacing' => 'one'],
'declare_equal_normalize' => ['space' => 'single'],
'native_function_casing' => true,
'no_blank_lines_after_class_opening' => true,
'no_blank_lines_after_phpdoc' => true,
'no_empty_comment' => true,
'no_empty_phpdoc' => true,
'no_empty_statement' => true,
'no_leading_namespace_whitespace' => true,
'no_singleline_whitespace_before_semicolons' => true,
'no_unused_imports' => true,
'no_useless_else' => true,
'no_useless_return' => true,
'no_whitespace_in_blank_line' => true,
'normalize_index_brace' => true,
'ordered_class_elements' => true,
'ordered_imports' => true,
//'php_unit_test_class_requires_covers' => true,
'phpdoc_order' => true,
'protected_to_private' => true,
'self_accessor' => true,
//'single_line_comment_style' => true,
'single_quote' => true,
'space_after_semicolon' => true,
'whitespace_after_comma_in_array' => true
])
->setFinder($finder)
->setCacheFile('app/cache/php_cs.cache')
;
return $config;
<?php
$header = <<<'EOF'
This file is part of PHP CS Fixer.
(c) Fabien Potencier <fabien@symfony.com>
Dariusz Rumiński <dariusz.ruminski@gmail.com>
This source file is subject to the MIT license that is bundled
with this source code in the file LICENSE.
EOF;
$finder = PhpCsFixer\Finder::create()
->exclude('tests/Fixtures')
->in(__DIR__)
;
if (PHP_VERSION_ID < 70000) {
$finder
->notPath('tests/Test/Constraint/SameStringsConstraintForV7.php')
->notPath('tests/Test/Constraint/XmlMatchesXsdConstraintForV7.php')
;
}
$config = PhpCsFixer\Config::create()
->setRiskyAllowed(true)
->setRules([
'@PHP56Migration' => true,
'@PHPUnit60Migration:risky' => true,
'@Symfony' => true,
'@Symfony:risky' => true,
'align_multiline_comment' => true,
'array_indentation' => true,
'array_syntax' => ['syntax' => 'short'],
'blank_line_before_statement' => true,
'combine_consecutive_issets' => true,
'combine_consecutive_unsets' => true,
'comment_to_phpdoc' => true,
'compact_nullable_typehint' => true,
'escape_implicit_backslashes' => true,
'explicit_indirect_variable' => true,
'explicit_string_variable' => true,
'final_internal_class' => true,
'fully_qualified_strict_types' => true,
'function_to_constant' => ['functions' => ['get_class', 'get_called_class', 'php_sapi_name', 'phpversion', 'pi']],
'header_comment' => ['header' => $header],
'heredoc_to_nowdoc' => true,
'list_syntax' => ['syntax' => 'long'],
'method_argument_space' => ['ensure_fully_multiline' => true],
'method_chaining_indentation' => true,
'multiline_comment_opening_closing' => true,
'no_alternative_syntax' => true,
'no_extra_blank_lines' => ['tokens' => ['break', 'continue', 'extra', 'return', 'throw', 'use', 'parenthesis_brace_block', 'square_brace_block', 'curly_brace_block']],
'no_null_property_initialization' => true,
'no_short_echo_tag' => true,
'no_superfluous_elseif' => true,
'no_unneeded_curly_braces' => true,
'no_unneeded_final_method' => true,
'no_unreachable_default_argument_value' => true,
'no_useless_else' => true,
'no_useless_return' => true,
'ordered_class_elements' => true,
'ordered_imports' => true,
'php_unit_ordered_covers' => true,
'php_unit_set_up_tear_down_visibility' => true,
'php_unit_strict' => true,
'php_unit_test_annotation' => true,
'php_unit_test_class_requires_covers' => true,
'phpdoc_add_missing_param_annotation' => true,
'phpdoc_order' => true,
'phpdoc_types_order' => true,
'semicolon_after_instruction' => true,
'single_line_comment_style' => true,
'strict_comparison' => true,
'strict_param' => true,
'string_line_ending' => true,
'yoda_style' => true,
])
->setFinder($finder)
;
// special handling of fabbot.io service if it's using too old PHP CS Fixer version
if (false !== getenv('FABBOT_IO')) {
try {
PhpCsFixer\FixerFactory::create()
->registerBuiltInFixers()
->registerCustomFixers($config->getCustomFixers())
->useRuleSet(new PhpCsFixer\RuleSet($config->getRules()));
} catch (PhpCsFixer\ConfigurationException\InvalidConfigurationException $e) {
$config->setRules([]);
} catch (UnexpectedValueException $e) {
$config->setRules([]);
} catch (InvalidArgumentException $e) {
$config->setRules([]);
}
}
return $config;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment