rroek/symfony3-custom-coding-standard

针对 Symfony3 项目的自定义 CodeSniffer 规则集

dev-master / 3.x-dev 2018-03-12 15:54 UTC

This package is auto-updated.

Last update: 2024-09-06 19:38:48 UTC


README

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

安装

Composer

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

  1. 将仓库添加到您的 composer.json
composer require rroek/symfony3-custom-coding-standard
  1. 将编码标准作为项目的依赖项添加
 "require-dev": {
        "RRoek/symfony3-custom-coding-standard": "^3.0"
    },
  1. 将编码标准添加到 PHP_CodeSniffer 安装路径

该路径相对于 php_codesniffer 安装路径。
这对于使其在 vagrant、windows、本地机器和/或 PHPStorm 中都能正常工作非常重要。例如,对于由 composer 管理依赖项的项目

    ./vendor/bin/phpcs --config-set installed_paths ../../RRoek/symfony3-custom-coding-standard
  1. 检查已安装的编码标准以 "Symfony3RRoek" 为准

     bin/phpcs -i
    
  2. 完成!

    bin/phpcs --standard=Symfony3RRoek /path/to/code (i.e. src)
    
  3. (可选) 设置 PHPStorm

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

自定义

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

在 Sniff/WhiteSpace/AssignmentSpacingSniff 中

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

在 Sniff/WhiteSpace/FunctionalClosingBraceSniff 中

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

在 Sniff/Commenting/FunctionCommentSniff 中

  • 检查文档块上方的 1 个空白行
  • 不检查测试和 setUp 方法(PHPunit)的文档块(将空白)
  • 检查受保护的私有方法的文档块

在 Sniff/NamingConventions/ValidClassNameSniff 中

  • 删除抽象类名称规则

在 ruleset.xml 中

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