Установите на любой проект PHP 7.2-PHP 8.3 с любыми зависимостями.
Невероятная скорость с параллельным запуском прямо из коробки
Используйте PHP_CodeSniffer или PHP-CS-Fixer — все, что вам нравится.
Используйте готовые наборы и наборы PHP CS Fixer для экономии времени.
композитору требуется simplify/easy-coding-standard --dev
поставщик/bin/ecs
При первом запуске ECS создает файл конфигурации ecs.php
с каталогами и первым правилом, которое нужно запустить.
Затем вы можете запустить еще раз, чтобы увидеть предлагаемые различия:
поставщик/bin/ecs
Чтобы действительно исправить ваш код , добавьте --fix
:
поставщик/bin/ecs --fix
Вот и все!
В большинстве случаев вас устроит конфигурация по умолчанию. Самая важная часть — настройка путей, шашек и наборов:
используйте PhpCsFixerFixerArrayNotationArraySyntaxFixer; используйте PhpCsFixerFixerListNotationListSyntaxFixer; используйте SymplifyEasyCodingStandardConfigECSConfig; return ECSConfig::configure() ->withPaths([__DIR__ . '/src', __DIR__ . '/tests']) ->withConfiguredRule( ArraySyntaxFixer::класс, ['синтаксис' => 'длинный'] ) ->withRules([ ListSyntaxFixer::класс, ]) ->withPreparedSets(psr12: true);
Хотите проверить все файлы *.php
в корне ( ecs.php
, rector.php
и т. д.)? Вместо того, чтобы перечислять их один за другим, используйте метод ->withRootFiles()
:
используйте SymplifyEasyCodingStandardConfigECSConfig; return ECSConfig::configure() ->withPaths([__DIR__ . '/src', __DIR__ . '/tests']) ->withRootFiles();
Хотите включить один из 44 наборов php-cs-fixer?
Ты можешь:
используйте SymplifyEasyCodingStandardConfigECSConfig; return ECSConfig::configure() ->withPaths([__DIR__ . '/src', __DIR__ . '/tests']) ->withPhpCsFixerSets (perCS20: true, DoctorAnnotation: true);
Вам нравятся наборы правил, но вы хотите пропустить одно правило или несколько файлов?
используйте SymplifyEasyCodingStandardConfigECSConfig; return ECSConfig::configure() ->withSkip([// пропустить одно правилоArraySyntaxFixer::class, // пропустить одно правило в определенных путяхArraySyntaxFixer::class => [__DIR__ . '/src/ValueObject/', ],// пропускаем каталог по абсолютному значению или * Mask__DIR__ . '/src/Migrations',// пропускаем каталоги по маске__DIR__ . '/src/*/Наследие', ]);
Вероятно, вы не будете их использовать, но они дадут вам больше контроля над внутренним процессом:
использовать SymplifyEasyCodingStandardConfigECSConfig;use SymplifyEasyCodingStandardValueObjectOption;вернуть ECSConfig::configure()// расширения файлов для сканирования->withFileExtensions(['php'])// настроить пути кеширования и пространство имен - полезно, например, кеширование Gitlab CI, где getcwd() выдает всегда разные путь->withCache( каталог: sys_get_temp_dir(). '/_changed_files_detector_tests', пространство имен: getcwd() // нормализуется по разделителю каталогов)// печатаем содержимое с определенными правилами отступа->withSpacing(indentation: Option::INDENTATION_SPACES, lineEnding: PHP_EOL)// изменяем параллельный запуск->withParallel(timeoutSeconds: 120, maxNumberOfProcess: 32, размер задания: 20);
Указанные значения являются значениями по умолчанию.
Используете ли вы ECS в различных проектах? Хотите ли вы, чтобы они всегда запускались одинаково в каждом из этих проектов? Давайте воспользуемся скриптами Composer.
Эта команда добавляет в ваш composer.json
два удобных скрипта:
скрипты поставщика/bin/ecs
Запускайте их всегда одинаково — для проверки кода:
проверка композитора-cs
Чтобы применить исправления, запустите:
композитор fix-cs
Возможно, вы захотите использовать ECS для создания отчетов для сторонних инструментов.
В настоящее время мы предоставляем форматтеры для:
console
: печать, ориентированная на человека, в стиле PHP CS Fixer.
json
: специальный объект JSON для произвольных инструментов.
junit
: формат JUnit для использования в различных средах CI.
checkstyle
: полезно для отчетов о действиях Github.
gitlab
: для отчетов о качестве кода Gitlab или инструментов Code Climate.
Информацию о том, как ведет себя каждый из них, см. в соответствующих реализациях.
поставщик/bin/ecs --clear-cache
средства проверки списков поставщиков/bin/ecs
Вы ищете формат json?
list-checkers поставщика/bin/ecs --output-format json
Вы используете другой инструмент и хотите перейти? Это довольно просто – вот «как»:
для PHP_CodeSniffer
и PHP CS Fixer.