Installieren Sie es auf jedem PHP 7.2-PHP 8.3- Projekt mit allen Abhängigkeiten
Blitzschnell mit Parallellauf aus der Box
Verwenden Sie PHP_CodeSniffer oder PHP-CS-Fixer – was immer Sie möchten
Verwenden Sie vorbereitete Sets und PHP CS Fixer-Sets, um Zeit zu sparen
Komponist benötigt symplify/easy-coding-standard --dev
Vendor/bin/ecs
Beim ersten Start erstellt ECS die Konfigurationsdatei ecs.php mit den Verzeichnissen und der ersten Regel, um zu starten.
Dann können Sie es erneut ausführen, um die vorgeschlagenen Unterschiede anzuzeigen:
Vendor/bin/ecs
Um Ihren Code tatsächlich zu reparieren , fügen Sie --fix hinzu:
Vendor/bin/ecs --fix
Das ist es!
In den meisten Fällen werden Sie mit der Standardkonfiguration zufrieden sein. Der wichtigste Teil ist das Konfigurieren von Pfaden, Prüfern und Mengen:
use PhpCsFixerFixerArrayNotationArraySyntaxFixer;use PhpCsFixerFixerListNotationListSyntaxFixer;use SymplifyEasyCodingStandardConfigECSConfig;return ECSConfig::configure()
->withPaths([__DIR__ . '/src', __DIR__ . '/tests'])
->withConfiguredRule(
ArraySyntaxFixer::class,
['syntax' => 'long']
)
->withRules([
ListSyntaxFixer::class,
])
->withPreparedSets(psr12: true); Möchten Sie alle *.php Dateien in Ihrem Stammverzeichnis überprüfen ( ecs.php , rector.php usw.)? Anstatt sie einzeln aufzulisten, verwenden Sie die Methode ->withRootFiles() :
use SymplifyEasyCodingStandardConfigECSConfig;return ECSConfig::configure()
->withPaths([__DIR__ . '/src', __DIR__ . '/tests'])
->withRootFiles();Möchten Sie eines von 44 Sets von php-cs-fixer einbinden?
Du kannst:
use SymplifyEasyCodingStandardConfigECSConfig;return ECSConfig::configure()
->withPaths([__DIR__ . '/src', __DIR__ . '/tests'])
->withPhpCsFixerSets(perCS20: true, doctrineAnnotation: true);Sie lieben die Regelsätze, möchten aber einzelne Regeln oder einige Dateien überspringen?
use SymplifyEasyCodingStandardConfigECSConfig;return ECSConfig::configure()
->withSkip([// einzelne Regel überspringenArraySyntaxFixer::class,// einzelne Regel in bestimmten Pfaden überspringenArraySyntaxFixer::class => [__DIR__ . '/src/ValueObject/',
],// Verzeichnis mit Absolutwert oder * mask__DIR__ überspringen. '/src/Migrations',// Verzeichnisse nach mask__DIR__ überspringen. '/src/*/Legacy',
]);Sie werden diese wahrscheinlich nicht verwenden, aber sie können Ihnen mehr Kontrolle über den internen Prozess geben:
use SymplifyEasyCodingStandardConfigECSConfig;use SymplifyEasyCodingStandardValueObjectOption;return ECSConfig::configure()// zu scannende Dateierweiterungen->withFileExtensions(['php'])// Cache-Pfade und Namespace konfigurieren – nützlich z. B. Gitlab CI-Caching, wobei getcwd() immer unterschiedliche Ergebnisse liefert path->withCache(
Verzeichnis: sys_get_temp_dir() . '/_changed_files_detector_tests',
namespace: getcwd() // normalisiert auf Verzeichnistrennzeichen)// Inhalte mit bestimmten Einrückungsregeln drucken->withSpacing(indentation: Option::INDENTATION_SPACES, lineEnding: PHP_EOL)// Parallellauf ändern->withParallel(timeoutSeconds: 120, maxNumberOfProcess: 32, jobSize: 20);Die genannten Werte sind Standardwerte.
Nutzen Sie ECS projektübergreifend? Möchten Sie sie in jedem dieser Projekte immer auf die gleiche Weise ausführen? Lassen Sie uns Composer-Skripte verwenden
Dieser Befehl fügt Ihrer composer.json zwei praktische Skripte hinzu:
Vendor/bin/ecs-Skripte
Führen Sie sie immer auf die gleiche Weise aus – um den Code zu überprüfen:
Komponisten-Check-cs
Um Korrekturen anzuwenden, führen Sie Folgendes aus:
Komponist fix-cs
Möglicherweise möchten Sie ECS verwenden, um Berichte für Tools von Drittanbietern zu erstellen.
Wir bieten derzeit Formatierer für:
console : Menschenorientiertes Drucken à la PHP CS Fixer.
json : Ein benutzerdefinierter JSON-Blob für beliebige Tools.
junit : JUnit-Format zur Verwendung in verschiedenen CI-Umgebungen.
checkstyle : Nützlich für Github-Aktionsberichte.
gitlab : Für Gitlab-Codequalitätsberichte oder Code Climate-Tools.
Informationen zum jeweiligen Verhalten finden Sie in den jeweiligen Implementierungen.
Vendor/bin/ecs --clear-cache
Vendor/bin/ecs-Listenprüfer
Suchen Sie nach dem JSON-Format?
Vendor/bin/ecs list-checkers --output-format json
Sie nutzen ein anderes Tool und möchten migrieren? Es ist ziemlich einfach – hier erfahren Sie, wie es geht:
für PHP_CodeSniffer
und PHP CS Fixer.