0

在我的项目中,我应用PSR-2代码样式规则,并使用Codesniffer通过 Continues Integration 检查我的代码。

我使用 PhpStrorm 编写代码,PhpStorm 具有在提交之前或编写代码时重新格式化代码的功能,以最大限度地减少错误。

但是我对以下规则有疑问:

PSR2.Classes.ClassDeclaration.CloseBraceAfterBody

假设我有以下课程:

<?php

namespace MyNamespace;    

class MyClass
{

    public $myVar1;
    public $myVar2;

   /**
    * @var string
    */
    public $myVar;       

   /**
    * This is a test function
    */
    public function myFunction()
    {
    ...
    }

}

当我提交我的代码并运行持续集成时,我收到以下错误:

----------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
----------------------------------------------------------------------
 183 | ERROR | [x] The closing brace for the class must go on the next
     |       |     line after the body
     |       |     (PSR2.Classes.ClassDeclaration.CloseBraceAfterBody)
----------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
----------------------------------------------------------------------

问题是类的右大括号和函数的右大括号之间的空行。

如果在选项卡空白行上 PhpStrom 的 CodeStyle 设置上,我设置In declarations = 0了该类的最后一个空行,但是 $myVar 和 $myVar2 的 DocBlock 之间的空行也将被删除,但是如果我设置了,Around Field = 1那么之间的空行DocBlock 和 var 将留在那里。但我还是没有得到我需要的东西,因为在 $myVar1 和 $myVar2 之间会有一个空行。

我还没有找到让 PhpStorm 获得理想结果的方法。

有谁知道有没有办法?

4

0 回答 0