Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

Open
@hostep

Description

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

        AltStyle によって変換されたページ (->オリジナル) /