.php_cs 4.9 KB

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