ติดตั้งบนโปรเจ็กต์ 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