Установите на любой проект 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.