You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

154 lines
4.9 KiB

1 year ago
<?php
$header = <<<EOF
The file is part of the payment lib.
(c) Leo <dayugog@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('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);