travis-south/symfony3-custom-coding-standard

基于endouble/symfony3-custom-coding-standard的分支

3.0.0 2017-11-25 09:00 UTC

This package is auto-updated.

Last update: 2024-09-29 04:43:05 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

  • 在"Languages & Frameworks" -> "PHP" -> "Code Sniffer"下配置代码检查器
  • 转到"Editor" -> "Inspections" -> "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中禁用)的空白行检查