magento-coding-standard
magento-coding-standard copied to clipboard
Conflicts with PER-CS 2.0 in regards with formatting braces for empty classes
Preconditions
- 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
- Run Magento's phpcs coding standard against this class
Expected result
- 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
- 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?
Hi @hostep. Thank you for your report.
To speed up processing of this issue, make sure that you provided sufficient information.
Add a comment to assign the issue: @magento I am working on this
Join Magento Community Engineering Slack and ask your questions in #github channel.
Is not entirely the same issue but is close enough: maybe we should also implement this from PER-CS 2.0: https://github.com/magento/magento2/pull/38050#issuecomment-1922363323