🛠️
[php-cs-fixer] ルールが厳しすぎて消す・直しまくるので調整する例
published_at: 2019-05-17
デフォルトのままだとがんばって書いたのが消されたり直されたりしすぎるので調整した・・・
Version
- php-cs-fixer + suin/php-cs-fixer-rules を利用
- "friendsofphp/php-cs-fixer": "^2.15"
- "suin/php-cs-fixer-rules": "^2.0"
- PHP 7.3
- Composer version 1.8.5 2019-04-09 17:46:47
調整事項
PHPDoc 周辺
@return
の行を消されないようにする
'no_superfluous_phpdoc_tags' => false,
@package
を消されないようにする
'phpdoc_no_package' => false,
'general_phpdoc_annotation_remove' => [
'annotations' => ['author'],
],
コメント中に余計な改行が入らないようにする
'phpdoc_separation' => false,
PHPDoc用のコメントの揃え方:縦に揃える
'phpdoc_align' => [
'align' => 'vertical',
],
配列周辺
最後にカンマがないとき入れないままにする
'trailing_comma_in_multiline_array' => false,
イコールや => の見映えを揃える
binary_operator_spaces' => [
'align_double_arrow' => true,
'align_equals' => true,
],
.php_cs.dist
<?php
return PhpCsFixer\Config::create()
->setRiskyAllowed(true)
->setRules(Suin\PhpCsFixer\Rules::create([
// If you want to overwrite default rules
// add rules here.
'declare_strict_types' => false,
'no_superfluous_phpdoc_tags' => false,
'phpdoc_no_package' => false,
'general_phpdoc_annotation_remove' => [
'annotations' => ['author'],
],
'phpdoc_separation' => false,
'phpdoc_align' => [
'align' => 'vertical',
],
'binary_operator_spaces' => [
'align_double_arrow' => true,
'align_equals' => true,
],
'trailing_comma_in_multiline_array' => false,
]))
->setFinder(PhpCsFixer\Finder::create()
->exclude('vendor')
->in(__DIR__)
);
Note
- public -> protected -> private に並び替えないオプションを探したい
- テストメソッドにかけるとスネークケースに直されるのを回避したい
Discussion