-
Notifications
You must be signed in to change notification settings - Fork 675
/
.php_cs
153 lines (107 loc) · 4.91 KB
/
.php_cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
<?php
$header = <<<EOF
The file is part of the payment lib.
(c) Leo <[email protected]>
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('vendor/')
->in(__DIR__);
$rules = [
// PSR2为基准
'@PSR2' => true,
// 数组统一:[ ]
'array_syntax' => ['syntax' => 'short'],
// namespace 之后空一行
'blank_line_after_namespace' => true,
// new: namespace 之前不能有空行
'no_blank_lines_before_namespace' => true,
// 合并多条连续的 unset 方法
'combine_consecutive_unsets' => true,
// 字符串连接空格
'concat_space' => ['spacing' => 'one'],
// case 空格
'cast_spaces' => true,
// else if 转换为 elseif
'elseif' => true,
// utf8 无bom头编码
'encoding' => true,
// 必须使用<?php 或者 <?=
'full_opening_tag' => true,
// 单行注释使用 双斜杠
'hash_to_slash_comment' => true,
// 头部的注释信息,统一
'header_comment' => ['header' => $header],
// 代码必须使用配置的缩进类型
'indentation_type' => true,
// 所有PHP文件必须使用相同的行结束
'line_ending' => true,
// true, false, and null 必须为小写
'lowercase_constants' => true,
// 在方法参数和方法调用中,每个逗号之间绝对不能为空格,每个逗号之后必须有一个空格
'method_argument_space' => true,
// class 大括号后不应有空行
'no_blank_lines_after_class_opening' => true,
// 删除空注释
'no_empty_comment' => true,
// 删除无用的空语句
'no_empty_statement' => true,
// 命名空间声明行不应包含前导空
'no_leading_namespace_whitespace' => true,
// => 不应该被多行空格包围
'no_multiline_whitespace_around_double_arrow' => true,
// 在开始的括号之后,绝对不能是一个空格。在右括号之前绝对不能是空格
'no_spaces_inside_parenthesis' => true,
// 绝对不能在offset 周围空格
'no_spaces_around_offset' => ['inside', 'outside'],
// 禁止在关闭分号之前的单行空格
'no_singleline_whitespace_before_semicolons' => true,
// 删除列表函数调用中的逗号
'no_trailing_comma_in_list_call' => true,
// PHP单行数组不应该有逗号
'no_trailing_comma_in_singleline_array' => true,
// 注释和phpdocs中必须没有尾随空格
'no_trailing_whitespace_in_comment' => true,
// 删除空白行末尾的尾随空格
'no_whitespace_in_blank_line' => true,
// 在数组声明中,每个逗号之前绝对不能是空格
'no_whitespace_before_comma_in_array' => true,
// 必须删除未使用的使用语句
'no_unused_imports' => true,
// 删除无用的else
'no_useless_else' => true,
// 删除无用的return
'no_useless_return' => true,
// 导入列表排序
'ordered_imports' => true,
// 没有结束标记的PHP文件必须始终以单个空行内容结尾
'single_blank_line_at_eof' => true,
// 每个声明必须是一个使用关键字
'single_import_per_statement' => true,
// 将简单字符串的 双引号 转换为 单引号
'single_quote' => true,
// 三元操作符空格
'ternary_operator_spaces' => true,
// 数组去空格
'trim_array_spaces' => true,
// 一元运算符靠着操作数
'unary_operator_spaces' => true,
/** 可见性必须在所有属性和方法上声明;
* 抽象和最终必须在可见性之前声明;
* 静态必须在可见性之后声明
**/
'visibility_required' => true,
// 数组箭头对齐
'binary_operator_spaces' => [
'operators' => [
'=' => 'align_single_space_minimal',
'=>' => 'align_single_space_minimal',
],
],
// 数组的逗号后面有一个空格
'whitespace_after_comma_in_array' => true,
];
return PhpCsFixer\Config::create()
->setRules($rules)
->setFinder($finder);