geolid/phpcs

官方 Geolid 编码标准。

12.0.0 2021-12-22 13:28 UTC

README

Geolid 使用 PHPCS 规则集。

安装

composer require --dev geolid/phpcs

您只需要此包,无需手动要求 squizlabs/php_codesnifferfriendsofphp/php-cs-fixer

在 require 后,将 phpcs.xml.dist 复制到您的路径中并重命名为 phpcs.xml,或在现有的 phpcs.xml 中添加以下规则。

<rule ref="./vendor/geolid/phpcs/src/Geolid/ruleset.xml" />

.php_cs.dist 文件复制到您的路径中。

使用

正常使用 php_codesniffer。

vendor/bin/phpcs

正常使用 php-cs-fixer。

vendor/bin/php-cs-fixer fix

描述

我们遵循 PSR-2 编码风格并添加了额外的规则。

附加规则

代码质量

  • 在函数调用前添加前导 \ 以加快解析。
  • 具有默认 null 值的参数需要在类型声明前使用 ?。
  • 没有未使用的导入(use 语句)。
  • Php 必须包含 declare(strict_types=1);,在声明和 php 开头标签之间有一个空白行。
  • 不允许超过 3 层嵌套缩进。

可读性

  • 数组必须使用短语法。
  • 连接运算符周围有一个空格。
  • 类型转换运算符后有一个空格。
  • 对象实例化必须始终使用括号。
  • 返回语句前必须有一个空白行。
  • 返回类型提示前必须有一个空格。
    public function foo(): self {}
  • 每行只能使用一次 traits。
  • 没有空的 phpdoc。

PR 可读性

  • 尾随逗号:多行数组必须在所有行中都有逗号。
  • 尾随逗号:多行调用必须在所有行中都有逗号。

命名

  • 除了 PHPUnit *TestCase 的名称外,所有抽象类都以前缀 Abstract 开头。(目前未检测到空的抽象类的名称)。
  • 接口后缀为 Interface。
  • 特性后缀为 Trait。
  • 异常后缀为 Exception。

PSR-12

  • 所有常量的可见性必须声明。
  • 私有方法和属性不得以前缀 _ 开头。

测试

composer test