endouble/symfony3-custom-coding-standard

为Symfony3项目定制的CodeSniffer规则集

安装次数: 104,644

依赖者: 1

建议者: 0

安全: 0

星标: 11

关注者: 5

分支: 102

类型:编码规范

2.17 2017-03-22 10:44 UTC

README

这是对 https://github.com/djoos/Symfony2-coding-standard 的分支,这些是Symfony2标准,但根据我们在CSB项目中的某些需求进行了调整,例如为了符合 PSR-12 以满足PHP 7的要求。

安装

Composer

此标准可以使用 Composer 依赖管理器进行安装。

  1. 将存储库添加到您的 composer.json 文件中
 "repositories": [
        {
            "type": "vcs",
            "url": "git@github.com:Endouble/Symfony3-custom-coding-standard"
        }
  1. 将编码规范作为项目的依赖项添加
 "require-dev": {
        "endouble/symfony3-custom-coding-standard": "^2.10"
    },
  1. 将编码规范添加到 PHP_CodeSniffer 安装路径中

该路径相对于 php_codesniffer 安装路径。这对于使其在您的 vagrant、本地计算机和 PHPStorm 中都能正常工作非常重要。

    bin/phpcs --config-set installed_paths ../../endouble/symfony3-custom-coding-standard
  1. 检查已安装的编码标准中的 "Symfony2"。

     bin/phpcs -i
    
  2. 完成!

    bin/phpcs --standard=Symfony3Custom /path/to/code
    
  3. (可选) 配置 PHPStorm

  • 在语言和框架 -> PHP -> Code Sniffer 下配置代码检查器
  • 转到编辑器 -> 检查 -> PHP Code sniffer,刷新标准并选择 Symfony3Custom

自定义

对原始标准进行了以下调整

在 Sniff/WhiteSpace/AssignmentSpacingSniff 中

  • declare(strict_types=1); 添加了异常,以符合 PSR-12

在 Sniff/WhiteSpace/FunctionalClosingBraceSniff 中

  • 从 Squiz 复制并调整,以确保函数末尾没有空白行

在 Sniff/Commenting/FunctionCommentSniff 中

  • 检查 docblock 上方的 1 个空白行
  • 不检查测试和 setUp 方法(PHPUnit,将是空的)的 docblock
  • 检查受保护的私有方法是否有 docblock

在 Sniff/NamingConventions/ValidClassNameSniff 中

  • 删除抽象类名称规则

在 ruleset.xml 中

  • 禁用了类注释规则
  • 更改了连接间距规则,为了可读性,要求在连接点周围有 1 个空格,而不是像 Symfony 标准所要求的没有空格。
  • 重新启用了从 superfluousWhitespace(在 PSR-2 中禁用)中的空白行检查