Skip to content

Conflicts with PER-CS 2.0 in regards with formatting braces for empty classes #470

Open
@hostep

Description

@hostep

Preconditions

  1. Have a class like this:
<?php

declare(strict_types=1);

namespace Some\Namespace;

use Magento\Framework\Exception\LocalizedException;

class SomeException extends LocalizedException {}

Steps to reproduce

  1. Run Magento's phpcs coding standard against this class

Expected result

  1. No errors, as PER-CS 2.0 expects:

If class contains no additional declarations (such as an exception that exists only to extend another exception with a new type), then the body of the class SHOULD be abbreviated as {} and placed on the same line as the previous symbol, separated by a space. For example:

class MyException extends \RuntimeException {}

Actual result

  1. It outputs:
--------------------------------------------------------------------------------------------------------------------------------------
FOUND 0 ERRORS AND 2 WARNINGS AFFECTING 1 LINE
--------------------------------------------------------------------------------------------------------------------------------------
 9 | WARNING | [x] Opening brace of a class must be on the line after the definition
   |         |     (PSR2.Classes.ClassDeclaration.OpenBraceNewLine)
 9 | WARNING | [x] Closing brace must be on a line by itself (Squiz.WhiteSpace.ScopeClosingBrace.ContentBefore)
--------------------------------------------------------------------------------------------------------------------------------------

Discussion

When you use php-cs-fixer with the PER-CS 2.0 ruleset, it conflicts with this Magento2 phpcs standard.

Not sure if this should be considered a bug in the M2 coding-standards, or more of a bug in phpcs itself?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Ready for Grooming

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions