geolid / phpcs
官方 Geolid 编码标准。
12.0.0
2021-12-22 13:28 UTC
Requires
- php: ^7.3|^8.0
- escapestudios/symfony2-coding-standard: ^3.10
- friendsofphp/php-cs-fixer: ^3.2.1
- slevomat/coding-standard: ^7.0.16
- squizlabs/php_codesniffer: ^3.5.3
README
Geolid 使用 PHPCS 规则集。
安装
composer require --dev geolid/phpcs
您只需要此包,无需手动要求 squizlabs/php_codesniffer
或 friendsofphp/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