Instal pada proyek PHP 7.2-PHP 8.3 apa pun dengan dependensi apa pun
Sangat cepat dengan kehabisan paralel
Gunakan PHP_CodeSniffer atau PHP-CS-Fixer - apa pun yang Anda suka
Gunakan set yang telah disiapkan dan set PHP CS Fixer untuk menghemat waktu
komposer memerlukan penyederhanaan/standar pengkodean mudah --dev
vendor/bin/ecs
Saat pertama kali dijalankan, ECS membuat file konfigurasi ecs.php
dengan direktori dan aturan pertama yang dimulai.
Kemudian Anda dapat menjalankannya lagi untuk melihat perbedaan yang disarankan:
vendor/bin/ecs
Untuk benar-benar memperbaiki kode Anda , tambahkan --fix
:
vendor/bin/ecs --memperbaiki
Itu saja!
Seringkali, Anda akan puas dengan konfigurasi default. Bagian yang paling relevan adalah mengonfigurasi jalur, pemeriksa, dan set:
gunakan PhpCsFixerFixerArrayNotationArraySyntaxFixer; gunakan PhpCsFixerFixerListNotationListSyntaxFixer; gunakan SymplifyEasyCodingStandardConfigECSConfig;kembalikan ECSConfig::configure() ->denganPaths([__DIR__ . '/src', __DIR__ . '/tests']) ->dengan Aturan yang Dikonfigurasi( ArraySyntaxFixer::kelas, ['sintaks' => 'panjang'] ) ->denganAturan([ DaftarSyntaxFixer::kelas, ]) ->denganPreparedSets(psr12: benar);
Apakah Anda ingin memeriksa semua file *.php
di root Anda ( ecs.php
, rector.php
dll.)? Daripada mencantumkannya satu per satu, gunakan metode ->withRootFiles()
:
gunakan SymplifyEasyCodingStandardConfigECSConfig; kembalikan ECSConfig::configure() ->denganPaths([__DIR__ . '/src', __DIR__ . '/tests']) ->denganRootFiles();
Apakah Anda ingin memasukkan salah satu dari 44 set dari php-cs-fixer?
Anda dapat:
gunakan SymplifyEasyCodingStandardConfigECSConfig; kembalikan ECSConfig::configure() ->denganPaths([__DIR__ . '/src', __DIR__ . '/tests']) ->denganPhpCsFixerSets(perCS20: benar, doktrinAnnotasi: benar);
Suka dengan kumpulan aturan, tetapi ingin melewati satu aturan atau beberapa file?
gunakan SymplifyEasyCodingStandardConfigECSConfig; kembalikan ECSConfig::configure() ->withSkip([// lewati aturan tunggalArraySyntaxFixer::class,// lewati aturan tunggal di jalur tertentuArraySyntaxFixer::class => [__DIR__ . '/src/ValueObject/', ],// lewati direktori secara absolut atau * mask__DIR__ . '/src/Migrations',// lewati direktori dengan mask__DIR__ . '/src/*/Warisan', ]);
Anda mungkin tidak akan menggunakan ini, namun ini dapat memberi Anda kontrol lebih besar atas proses internal:
gunakan SymplifyEasyCodingStandardConfigECSConfig; gunakan SymplifyEasyCodingStandardValueObjectOption; kembalikan ECSConfig::configure()// ekstensi file untuk dipindai->withFileExtensions(['php'])// konfigurasikan jalur cache dan namespace - berguna misalnya cache Gitlab CI, di mana getcwd() menghasilkan selalu berbeda jalur->denganCache( direktori: sys_get_temp_dir() . '/_berubah_file_detektor_tes', namespace: getcwd() // dinormalisasi ke pemisah direktori)// mencetak konten dengan aturan indentasi tertentu->withSpacing(indentasi: Option::INDENTATION_SPACES, lineEnding: PHP_EOL)// memodifikasi proses paralel->withParallel(timeoutSeconds: 120, maxNumberOfProcess: 32, Ukuran pekerjaan: 20);
Nilai yang disebutkan adalah nilai default.
Apakah Anda menggunakan ECS di berbagai proyek? Apakah Anda ingin menjalankannya selalu dengan cara yang sama di setiap proyek tersebut? Mari kita manfaatkan skrip Komposer
Perintah ini menambahkan 2 skrip praktis ke composer.json
Anda :
skrip vendor/bin/ecs
Jalankan selalu dengan cara yang sama - untuk memeriksa kode:
check-cs komposer
Untuk menerapkan perbaikan, jalankan:
perbaikan komposer-cs
Anda mungkin ingin menggunakan ECS untuk menghasilkan laporan untuk peralatan pihak ketiga.
Saat ini kami menyediakan formatter untuk:
console
: Pencetakan berorientasi manusia ala PHP CS Fixer.
json
: Gumpalan JSON khusus untuk perkakas sewenang-wenang.
junit
: Format JUnit untuk digunakan di lingkungan CI yang berbeda.
checkstyle
: Berguna untuk Laporan Tindakan Github.
gitlab
: Untuk laporan kualitas kode Gitlab atau perkakas Code Climate.
Untuk informasi tentang bagaimana masing-masing perilaku ini, lihat penerapannya masing-masing.
vendor/bin/ecs --clear-cache
pemeriksa daftar vendor/bin/ecs
Apakah Anda mencari format json?
vendor/bin/ecs daftar-pemeriksa --output-format json
Apakah Anda menggunakan alat lain dan ingin bermigrasi? Ini cukup mudah - inilah "caranya":
untuk PHP_CodeSniffer
dan Pemecah PHP CS.