ติดตั้งบนโปรเจ็กต์ PHP 7.2-PHP 8.3 ใดๆ ที่มีการขึ้นต่อกัน
รวดเร็วทันใจด้วยการวิ่งออกจากกล่องแบบขนาน
ใช้ PHP_CodeSniffer หรือ PHP-CS-Fixer - อะไรก็ได้ที่คุณต้องการ
ใช้ ชุดที่เตรียมไว้ และชุด PHP CS Fixer เพื่อประหยัดเวลา
ผู้แต่งต้องการ symplify/easy-coding-standard --dev
ผู้ขาย/bin/ecs
ในการรันครั้งแรก ECS จะสร้างไฟล์กำหนดค่า ecs.php
พร้อมด้วยไดเร็กทอรีและกฎข้อแรกที่จะเริ่ม
จากนั้นคุณสามารถเรียกใช้อีกครั้งเพื่อดูความแตกต่างที่แนะนำ:
ผู้ขาย/bin/ecs
หากต้องการ แก้ไขโค้ดของคุณ ให้เพิ่ม --fix
:
ผู้ขาย/bin/ecs --fix
แค่นั้นแหละ!
โดยส่วนใหญ่ คุณจะพอใจกับการกำหนดค่าเริ่มต้น ส่วนที่เกี่ยวข้องมากที่สุดคือการกำหนดค่าพาธ ตัวตรวจสอบ และชุด:
ใช้ PhpCsFixerFixerArrayNotationArraySyntaxFixer; ใช้ PhpCsFixerFixerListNotationListSyntaxFixer; ใช้ SymplifyEasyCodingStandardConfigECSConfig; กลับ ECSConfig::configure() ->withPaths([__DIR__ . '/src', __DIR__ . '/tests']) ->withConfiguredRule( ArraySyntaxFixer::คลาส ['ไวยากรณ์' => 'ยาว'] - ->ด้วยกฎ([ ListSyntaxFixer::คลาส, - ->withPreparedSets(psr12: จริง);
คุณต้องการตรวจสอบไฟล์ *.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: จริง, doctrineAnnotation: จริง);
ชอบกฎเกณฑ์ต่างๆ แต่ต้องการข้ามกฎข้อเดียวหรือบางไฟล์ใช่ไหม
ใช้ SymplifyEasyCodingStandardConfigECSConfig; return ECSConfig::configure() ->withSkip([// ข้ามกฎเดียว ArraySyntaxFixer::class,// ข้ามกฎเดียวใน pathsArraySyntaxFixer::class => [__DIR__ . '/src/ValueObject/', ],// ข้ามไดเร็กทอรีด้วยค่าสัมบูรณ์หรือ * mask__DIR__ '/src/Migrations',// ข้ามไดเรกทอรีโดย mask__DIR__ '/src/*/ดั้งเดิม', -
คุณอาจจะไม่ใช้สิ่งเหล่านี้ แต่สามารถให้คุณควบคุมกระบวนการภายในได้มากขึ้น:
ใช้ SymplifyEasyCodingStandardConfigECSConfig;use SymplifyEasyCodingStandardValueObjectOption;return ECSConfig::configure()// นามสกุลไฟล์เพื่อสแกน->withFileExtensions(['php'])// กำหนดค่าพาธแคชและเนมสเปซ - มีประโยชน์ เช่น การแคช Gitlab CI โดยที่ getcwd() สร้างความแตกต่างเสมอ เส้นทาง -> withCache ( ไดเรกทอรี: sys_get_temp_dir() . '/_changed_files_detector_tests', เนมสเปซ: getcwd() // ทำให้เป็นมาตรฐานสำหรับตัวคั่นไดเร็กทอรี)// พิมพ์เนื้อหาด้วยกฎการเยื้องเฉพาะ -> withSpacing (การเยื้อง: ตัวเลือก :: INDENTATION_SPACES, lineEnding: PHP_EOL) // แก้ไขการทำงานแบบขนาน -> withParallel (timeoutSeconds: 120, maxNumberOfProcess: 32, ขนาดงาน: 20);
ค่าที่กล่าวถึงเป็นค่าเริ่มต้น
คุณใช้ ECS กับโครงการต่างๆ หรือไม่? คุณต้องการที่จะรันมันในลักษณะเดียวกันเสมอในแต่ละโปรเจ็กต์เหล่านั้นหรือไม่? ลองใช้สคริปต์ Composer กันดีกว่า
คำสั่งนี้จะเพิ่มสคริปต์ที่มีประโยชน์ 2 ตัวให้กับ composer.json
ของคุณ :
สคริปต์ผู้จำหน่าย/bin/ecs
เรียกใช้ในลักษณะเดียวกันเสมอ - เพื่อตรวจสอบโค้ด:
ผู้แต่ง check-cs
หากต้องการใช้การแก้ไข ให้รัน:
ผู้แต่ง fix-cs
คุณอาจต้องการใช้ ECS เพื่อสร้างรายงานสำหรับเครื่องมือของบุคคลที่สาม
ขณะนี้เรามีฟอร์แมตเตอร์สำหรับ:
console
: การพิมพ์เชิงมนุษย์บน PHP CS Fixer
json
: JSON blob ที่กำหนดเองสำหรับเครื่องมือที่กำหนดเอง
junit
: รูปแบบ JUnit ที่จะใช้ในสภาพแวดล้อม CI ที่แตกต่างกัน
checkstyle
: มีประโยชน์สำหรับรายงานการดำเนินการ Github
gitlab
: สำหรับรายงานคุณภาพโค้ด Gitlab หรือเครื่องมือ Code Climate
สำหรับข้อมูลเกี่ยวกับลักษณะการทำงานแต่ละรายการ โปรดดูการใช้งานที่เกี่ยวข้อง
ผู้ขาย/bin/ecs --clear-cache
ตัวตรวจสอบรายการผู้ขาย / bin / ecs
คุณกำลังมองหารูปแบบ json หรือไม่?
ตัวตรวจสอบรายการผู้ขาย / bin / ecs --output-format json
คุณใช้เครื่องมืออื่นและต้องการย้ายหรือไม่ มันค่อนข้างตรงไปตรงมา - นี่คือ "วิธีการ":
สำหรับ PHP_CodeSniffer
และตัวแก้ไข PHP CS