efabrica/coding-standard

基于PSR2的PHP编码规范 PHP_CodeSniffer

0.7.0 2024-04-03 10:10 UTC

This package is auto-updated.

Last update: 2024-09-03 11:01:39 UTC


README

eFabrica的PHP_CodeSniffer编码规范基于PHP_CodeSniffer中的PSR2

eFabrica编码规范

基于PSR2并添加了一些规则

  1. 代码行之间最多允许1个空行
  2. 不允许行尾有空格
  3. 不允许括号关闭与返回类型冒号之间有空格
  4. 类型与变量之间需要恰好一个空格
  5. 返回类型冒号与返回类型之间需要恰好一个空格
  6. 每个操作符前后需要恰好一个空格
  7. 字符串连接中点(.)前后需要恰好一个空格
  8. private、protected、public、abstract、final等关键字后需要恰好一个空格
  9. 命名空间声明前后各需要一行空行
  10. 每文件最多允许一个命名空间
  11. uses和trait uses之间不允许有空行
  12. uses之前和之后各需要一行(如果为trait use且是类中的第一个/最后一个,则不适用)
  13. 每个函数(除了第一个和最后一个)前后各需要一行空行
  14. 每个成员变量(除了第一个和最后一个)前后各需要一行空行
  15. new关键字后需要括号。
  16. 建议使用单引号而不是双引号。如果字符串包含变量,则允许使用双引号
  17. 多行数组的最后一个元素后需要逗号
  18. 所有名称都必须作为引用(不允许完全限定或部分名称 - 所有用名都在uses中)
  19. 所有uses都必须使用
  20. uses需要按字母顺序排序
  21. uses不允许以反斜杠开头
  22. 属性、变量、函数名、方法名不允许使用snake_case
  23. 方法名中不允许使用下划线
  24. 类型与属性/变量/参数之间不允许有多个空格
  25. 类结构定义为:uses、枚举case、常量、属性、构造函数、方法
  26. 所有常量都需要有可见性
  27. 方法之间需要恰好一个空行
  28. 不允许有任何无用的注释

使用

composer require efabrica/coding-standard --dev
vendor/bin/phpcs {dirs} --standard="vendor/efabrica/coding-standard/eFabrica" {other-options}

for {dirs} 使用空格分隔的目录列表
for {other-options} 查看 vendor/bin/phpcs --help 或访问 PHP_CodeSniffer 文档

eFabricaStrict编码规范

基于eFabrica编码规范并添加了一些严格的规则

  1. 在每个PHP文件顶部使用 declare(strict_types=1);。在declare之前和之后各使用一个空行
  2. 要求每个类要么是抽象的,要么是最终的

使用

composer require efabrica/coding-standard --dev
vendor/bin/phpcs {dirs} --standard="vendor/efabrica/coding-standard/eFabricaStrict" {other-options}

for {dirs} 使用空格分隔的目录列表
for {other-options} 查看 vendor/bin/phpcs --help 或访问 PHP_CodeSniffer 文档