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.