mayflower / mo4-coding-standard
实现MO4编码标准的PHP CodeSniffer规则集,扩展了Symfony编码标准。
v10.0.0
2024-03-13 20:01 UTC
Requires
- php: ~7.2 || ~8.0
- dealerdirect/phpcodesniffer-composer-installer: ~0.7 || ~1.0
- escapestudios/symfony2-coding-standard: ^3.10.0
- slevomat/coding-standard: ^8.14
- squizlabs/php_codesniffer: ^3.8.0
Requires (Dev)
- ergebnis/composer-normalize: >=2.19 <2.30
- phan/phan: ^5.4.2
- phpstan/phpstan: ^1.0
- phpstan/phpstan-strict-rules: ^1.0
- phpunit/phpunit: ^7.5.20 || ^8.5.36 || ^9.6.15
- psalm/plugin-phpunit: ^0.18
- vimeo/psalm: ^4.30
This package is auto-updated.
Last update: 2024-09-13 20:59:11 UTC
README
提供MO4编码标准的PHP CodeSniffer规则集
MO4编码标准
MO4编码标准是Symfony编码标准的扩展,并添加以下规则:
MO4.Arrays.ArrayDoubleArrowAlignment
- 在关联数组中,
=>
运算符必须对齐。 - 在数组中,键和
=>
运算符必须在同一行。
MO4.Arrays.MultiLineArray
- 在多行数组中,开括号后必须跟换行符。
- 在多行数组中,闭括号必须单独一行。
- 在多行数组中,元素必须缩进。
MO4.Commenting.PropertyComment
- 类属性的doc块必须是多行的,并且恰好有一个
@var
注解。
MO4.Formatting.AlphabeticalUseStatements
use
语句必须按字典顺序排序。排序函数可以配置。
配置
MO4.Formatting.AlphabeticalUseStatements
嗅探器的order
属性定义了用于排序的函数。
排序的可能值
dictionary
(默认):基于strcmp,命名空间分隔符在所有其他字符之前use Doctrine\ORM\Query; use Doctrine\ORM\Query\Expr; use Doctrine\ORM\QueryBuilder;
string
:使用strcmp的二进制安全字符串比较use Doctrine\ORM\Query; use Doctrine\ORM\QueryBuilder; use Doctrine\ORM\Query\Expr; use ExampleSub; use Examples;
string-locale
:使用strcoll的基于区域的字符串比较string-case-insensitive
:使用strcasecmp的二进制安全不区分大小写的字符串比较use Examples; use ExampleSub;
要更改项目的排序顺序,请将此片段添加到自定义ruleset.xml
<rule ref="MO4.Formatting.AlphabeticalUseStatements"> <properties> <property name="order" value="string-locale"/> </properties> </rule>
MO4.Formatting.UnnecessaryNamespaceUsage
- 当使用
use
语句导入时,必须使用导入的类名。
MO4.Strings.VariableInDoubleQuotedString
- 双引号字符串中的插值变量必须用
{ }
括起来,例如{$VAR}
而不是$VAR
。
MO4.WhiteSpace.ConstantSpacing
const
后必须跟一个空格。
MO4.WhiteSpace.MultipleEmptyLines
- 不允许超过一个连续的空行。来自mediawiki/mediawiki-codesniffer。
其他规则(从其他标准导入)
- 请参阅注释了每个导入规则的
MO4/ruleset.xml
。
注意,使用此规则集时,以下Symfony编码标准规则不会强制执行
- "
为所有类添加doc块
":如果doc块没有添加任何价值,则可以省略类的doc块 - "
PHP文件的顶部必须存在许可证块,在命名空间之前
":可以省略许可证块
大多数问题都可以通过phpcbf
自动修复。
需求
安装
Composer
使用Composer是首选方法。
-
将MO4编码规范添加到
composer.json
composer require --dev mayflower/mo4-coding-standard
-
盈利
./vendor/bin/phpcs --standard=MO4 path/to/my/file.php
-
可选地,您可能需要将MO4设置为默认编码规范
./vendor/bin/phpcs --config-set default_standard MO4
源代码
-
查看此存储库
git clone https://github.com/mayflower/mo4-coding-standard.git
-
安装依赖项
composer install
-
检查,以确保Symfony和MO4被列为编码规范
./vendor/bin/phpcs -i
-
盈利
./vendor/bin/phpcs --standard=MO4 path/to/my/file.php
-
可选地,您可能需要将MO4设置为默认编码规范
./vendor/bin/phpcs --config-set default_standard MO4
故障排除
如果phpcs
抱怨MO4未安装,请使用phpcs -i
检查已安装的编码规范,并确保使用phpcs --config-show
正确设置了installed_paths
依赖项
贡献
有关信息,请参阅CONTRIBUTING.md。
许可
本项目采用MIT许可。有关详细信息,请参阅LICENSE文件。