PHPCS - Sniffs для принудительного применения новых строк после закрытия и перед возвратом?

Мы используем различные сниффы для обеспечения согласованности, а также используем eslint, поэтому мы пытаемся унифицировать некоторые правила. мы можем сделать это в eslint, но не можем понять, как это сделать в phpcs.

Новая строка после закрытия, например

tap(function () {
    return true;
});

$cake = 'yes please';

предотвращать

tap(function () {
    return true;
});
$cake = 'yes please';

Заставить пустую строку перед операторами возврата (это не единственные операторы в методе)

getSomething()
{
    $something = 'something';

    return $something;
}

or

getSomething()
{
    return 'something';
}

скорее, чем

getSomething()
{
    $something = 'something';
    return $something;
}

Спасибо :)


person Owen    schedule 11.07.2017    source источник


Ответы (1)


Для пустых строк перед return можно использовать правило blank_line_before_statement из PHP CS Fixer.

Чтобы использовать его с PHP_CodeSniffer, лучше всего использовать EasyCodingStandard.

1. Установите его

composer require --dev symplify\easy-coding-standard

2. Настройте его

# easy-coding-standard.neon
checkers:
    - PhpCsFixer\Fixer\ReturnNotation\BlankLineBeforeReturnFixer

3. Запустите его в своем коде

vendor/bin/ecs check src

4. Исправьте свой код

vendor/bin/ecs check src --fix

Для закрытия вам придется настроить исходное правило, чтобы оно также включало токен закрытия.

Если возникнут какие-либо проблемы, просто создайте здесь задачу. Я буду рад максимально улучшить этот инструмент.

person Tomas Votruba    schedule 27.10.2017