mayflower/mo4-coding-standard

实现MO4编码标准的PHP CodeSniffer规则集,扩展了Symfony编码标准。

安装次数: 356,971

依赖项: 5

建议者: 0

安全性: 0

星标: 17

关注者: 15

分支: 10

开放问题: 2

类型:phpcodesniffer-standard

v10.0.0 2024-03-13 20:01 UTC

README

提供MO4编码标准的PHP CodeSniffer规则集

Build Status Code Coverage Scrutinizer Quality Level Codeclimate Maintainability SonarQube Maintainability

Latest Stable Version Total Downloads Latest Unstable Version License composer.lock

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

其他规则(从其他标准导入)

  • 请参阅注释了每个导入规则的MO4/ruleset.xml

注意,使用此规则集时,以下Symfony编码标准规则不会强制执行

  • "为所有类添加doc块":如果doc块没有添加任何价值,则可以省略类的doc块
  • "PHP文件的顶部必须存在许可证块,在命名空间之前":可以省略许可证块

大多数问题都可以通过phpcbf自动修复。

需求

安装

Composer

使用Composer是首选方法。

  1. 将MO4编码规范添加到composer.json

     composer require --dev mayflower/mo4-coding-standard
    
  2. 盈利

     ./vendor/bin/phpcs --standard=MO4 path/to/my/file.php
    
  3. 可选地,您可能需要将MO4设置为默认编码规范

     ./vendor/bin/phpcs --config-set default_standard MO4
    

源代码

  1. 查看此存储库

     git clone https://github.com/mayflower/mo4-coding-standard.git
    
  2. 安装依赖项

     composer install
    
  3. 检查,以确保Symfony和MO4被列为编码规范

     ./vendor/bin/phpcs -i
    
  4. 盈利

     ./vendor/bin/phpcs --standard=MO4 path/to/my/file.php
    
  5. 可选地,您可能需要将MO4设置为默认编码规范

     ./vendor/bin/phpcs --config-set default_standard MO4
    

故障排除

如果phpcs抱怨MO4未安装,请使用phpcs -i检查已安装的编码规范,并确保使用phpcs --config-show正确设置了installed_paths

依赖项

贡献

有关信息,请参阅CONTRIBUTING.md

许可

本项目采用MIT许可。有关详细信息,请参阅LICENSE文件。