efabrica / coding-standard
基于PSR2的PHP编码规范 PHP_CodeSniffer
0.7.0
2024-04-03 10:10 UTC
Requires
- slevomat/coding-standard: ^8.4
Requires (Dev)
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-03 11:01:39 UTC
README
eFabrica的PHP_CodeSniffer编码规范基于PHP_CodeSniffer中的PSR2。
eFabrica编码规范
基于PSR2并添加了一些规则
- 代码行之间最多允许1个空行
- 不允许行尾有空格
- 不允许括号关闭与返回类型冒号之间有空格
- 类型与变量之间需要恰好一个空格
- 返回类型冒号与返回类型之间需要恰好一个空格
- 每个操作符前后需要恰好一个空格
- 字符串连接中点(.)前后需要恰好一个空格
- private、protected、public、abstract、final等关键字后需要恰好一个空格
- 命名空间声明前后各需要一行空行
- 每文件最多允许一个命名空间
- uses和trait uses之间不允许有空行
- uses之前和之后各需要一行(如果为trait use且是类中的第一个/最后一个,则不适用)
- 每个函数(除了第一个和最后一个)前后各需要一行空行
- 每个成员变量(除了第一个和最后一个)前后各需要一行空行
- new关键字后需要括号。
- 建议使用单引号而不是双引号。如果字符串包含变量,则允许使用双引号
- 多行数组的最后一个元素后需要逗号
- 所有名称都必须作为引用(不允许完全限定或部分名称 - 所有用名都在uses中)
- 所有uses都必须使用
- uses需要按字母顺序排序
- uses不允许以反斜杠开头
- 属性、变量、函数名、方法名不允许使用snake_case
- 方法名中不允许使用下划线
- 类型与属性/变量/参数之间不允许有多个空格
- 类结构定义为:uses、枚举case、常量、属性、构造函数、方法
- 所有常量都需要有可见性
- 方法之间需要恰好一个空行
- 不允许有任何无用的注释
使用
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编码规范并添加了一些严格的规则
- 在每个PHP文件顶部使用
declare(strict_types=1);
。在declare之前和之后各使用一个空行 - 要求每个类要么是抽象的,要么是最终的
使用
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 文档