unleashedtech/php-coding-standard

Unleashed Technologies使用的CodeSniffer规则集

安装次数: 143,985

依赖者: 12

推荐者: 0

安全: 0

星星: 9

关注者: 8

分支: 4

开放性问题: 6

类型:phpcodesniffer-standard

v3.1.1 2021-10-20 20:36 UTC

README

Latest Version Total Downloads Build Status Software License

Unleashed Technologies的PHP编码标准,最初基于doctrine/coding-standard

概述

此编码标准基于PSR-1PSR-2,并基于Symfony、Doctrine和更广泛社区的实践,有一些显著的例外/差异/扩展。

  • 尽可能保持方法中控制结构的嵌套最小
  • 在连接运算符周围添加空格$foo = 'Hello ' . 'World!';
  • 在赋值、控制和返回语句之间添加空格
  • 在返回类型声明中的冒号后添加空格function (): void {}
  • 在类型转换后添加空格$foo = (int) '12345';
  • 使用单引号包围字符串
  • 始终使用严格比较
  • 始终在文件开头添加declare(strict_types=1)
  • 尽可能使用原生类型
  • 对于原生类型参数/返回值,省略phpDoc,除非添加描述
  • 不要使用@author@since和类似的注释,这些注释会重复Git信息
  • 在不需要参数的新实例中创建时使用括号$foo = new Foo()
  • 使用空合并运算符$foo = $bar ?? $baz
  • 使用空安全对象运算符$foo = $object?->property
  • 优先使用早期退出而不是嵌套条件或使用else
  • 始终使用完全限定全局函数(不需要use function语句)
  • 禁止使用\DateTime

有关执行规则的完整参考,请参阅src/Unleashed/ruleset.xml,其中每个嗅探器都有简要描述。

安装

您可以将Unleashed编码标准作为项目中的Composer依赖项安装

composer require --dev unleashedtech/php-coding-standard

然后您可以使用它如下

vendor/bin/phpcs --standard=Unleashed /path/to/some/files.php

您还可以使用phpcbp自动查找并修复任何违规行为

vendor/bin/phpcbf --standard=Unleashed /path/to/some/files.php

项目级规则集

要为项目启用Unleashed编码标准,创建一个包含以下内容的phpcs.xml.dist文件

<?xml version="1.0"?>
<ruleset>
    <arg name="basepath" value="."/>
    <arg name="extensions" value="php"/>
    <arg name="parallel" value="80"/>
    <arg name="cache" value=".phpcs-cache"/>
    <arg name="colors"/>

    <!-- Ignore warnings, show progress of the run and show sniff names -->
    <arg value="nps"/>

    <!-- Directories to be checked -->
    <file>src</file>
    <file>tests</file>

    <!-- Include full Unleashed Coding Standard -->
    <rule ref="Unleashed"/>
</ruleset>

这将启用完整的Unleashed编码标准,包括所有默认规则。从现在起,您可以只需运行vendor/bin/phpcsvendor/bin/phpcbf而不需要任何参数。

不要忘记将.phpcs-cachephpcs.xml(不带.dist后缀)添加到您的.gitignore中。第一个被忽略的文件是PHP CodeSniffer用于加速的缓存,第二个允许任何开发者本地调整配置而不修改版本化的文件。

有关CodeSniffer配置的进一步阅读,请参阅配置格式概述配置选项列表