อิมเมจนักเทียบท่ามีเครื่องมือวิเคราะห์แบบคงที่สำหรับ PHP รายการเครื่องมือที่มีอยู่และตัวติดตั้งได้รับการจัดการจริง ๆ ในที่เก็บ jakzal/toolbox
พื้นที่เก็บข้อมูลฮับนักเทียบท่า: https://hub.docker.com/r/jakzal/phpqa/
งานสร้างทุกคืน: https://hub.docker.com/r/jakzal/phpqa-nightly/
latest
, debian
(Dockerfile)1.99.0
, 1.99
, 1.99.0-debian
, 1.99-debian
(Dockerfile)1.99.0-php8.1
, 1.99-php8.1
, php8.1-debian
, php8.1
(ไฟล์นักเทียบท่า)1.99.0-php8.2
, 1.99-php8.2
, php8.2-debian
, php8.2
(ไฟล์นักเทียบท่า)1.99.0-php8.3
, 1.99-php8.3
, php8.3-debian
, php8.3
(ไฟล์นักเทียบท่า)alpine
(Dockerfile)1.99.0-alpine
, 1.99-alpine
, (Dockerfile)1.99.0-php8.1-alpine
, 1.99-php8.1-alpine
, php8.1-alpine
(Dockerfile)1.99.0-php8.2-alpine
, 1.99-php8.2-alpine
, php8.2-alpine
(Dockerfile)1.99.0-php8.3-alpine
, 1.99-php8.3-alpine
, php8.3-alpine
(Dockerfile) อัปเดตทุกวัน: latest
, debian
, alpine
, php8.4
, php8.4-alpine
ฯลฯ อัปเดตเมื่อมีการเปลี่ยนแปลงเวอร์ชันแพทช์: 1.61
, 1.61-php8.4
, 1.61-php8.4-alpine
ฯลฯ ไม่เคยอัปเดต: 1.61.0
, 1.61.0-php8.4
, 1.61.0-php8.4-alpine
, ฯลฯ
นี่คือแท็กล่าสุดสำหรับเวอร์ชัน PHP ที่ไม่รองรับอีกต่อไป:
1.92.7-php8.0
, 1.93-php8.0
, php8.0-debian
, php8.0
(ไฟล์นักเทียบท่า)1.92.7-php8.0-alpine
, 1.93-php8.0-alpine
, php8.0-alpine
(Dockerfile)1.80.0-php7.4
, 1.80-php7.4
, php7.4-debian
, php7.4
(ไฟล์นักเทียบท่า)1.80.0-php7.4-alpine
, 1.80-php7.4-alpine
, php7.4-alpine
(Dockerfile)1.61.2-php7.3
, 1.61-php7.3
, php7.3-debian
, php7.3
(เดเบียน/ไฟล์นักเทียบท่า)1.61.2-php7.3-alpine
, 1.61-php7.3-alpine
, php7.3-alpine
(อัลไพน์/Dockerfile)1.44.0-php7.2
, 1.44-php7.2
, php7.2
(7.2/เดเบียน/Dockerfile)1.44.0-php7.2-alpine
, 1.44-php7.2-alpine
, php7.2-alpine
(7.2/อัลไพน์/Dockerfile)1.26.0-php7.1
, 1.26-php7.1
, php7.1
(7.1/เดเบียน/Dockerfile)1.26.0-php7.1-alpine
, 1.26-php7.1-alpine
, php7.1-alpine
(7.1/อัลไพน์/Dockerfile) ชื่อ | คำอธิบาย | พีเอชพี 8.1 | พีเอชพี 8.2 | พีเอชพี 8.3 | พีเอชพี 8.4 |
---|---|---|---|---|---|
นั่นแหละ | ช่วยทดสอบความคาดหวังทางธุรกิจ | ||||
กล่อง | Bundler แอปพลิเคชันกำหนดค่าที่รวดเร็วและเป็นศูนย์พร้อม PHAR | ||||
กล่อง-3 | Bundler แอปพลิเคชันกำหนดค่าที่รวดเร็วและเป็นศูนย์พร้อม PHAR | ||||
ปั่น | ค้นพบตัวเลือกที่ดีสำหรับการปรับโครงสร้างใหม่ | ||||
การรับรหัส | Codeception เป็นเฟรมเวิร์กการทดสอบ PHP สไตล์ BDD | ||||
นักแต่งเพลง | ตัวจัดการการพึ่งพาสำหรับ PHP | ||||
ผู้แต่ง-bin-ปลั๊กอิน | ปลั๊กอินนักแต่งเพลงเพื่อติดตั้งผู้จำหน่ายถังขยะในสถานที่แยก | ||||
นักแต่งเพลง-ทำให้เป็นมาตรฐาน | ปลั๊กอินนักแต่งเพลงเพื่อทำให้ไฟล์ composer.json เป็นมาตรฐาน | ||||
นักแต่งเพลงต้องการตัวตรวจสอบ | ตรวจสอบว่าไม่มีการใช้สัญลักษณ์ที่ไม่รู้จักในแหล่งที่มาของแพ็คเกจ | ||||
ผู้แต่งต้องการตัวตรวจสอบ-3 | ตรวจสอบว่าไม่มีการใช้สัญลักษณ์ที่ไม่รู้จักในแหล่งที่มาของแพ็คเกจ | ||||
ผู้แต่งไม่ได้ใช้ | แสดงแพ็คเกจที่ไม่ได้ใช้โดยการสแกนโค้ดของคุณ | ||||
ทิ้ง | ตรวจจับข้อบกพร่องในสถาปัตยกรรมของคุณ | ||||
การเสื่อมสภาพเครื่องตรวจจับ | ค้นหาการใช้งานของโค้ดที่เลิกใช้แล้ว | ||||
เดปแทรค | บังคับใช้กฎการพึ่งพาระหว่างเลเยอร์ซอฟต์แวร์ | ||||
diffFilter | ใช้เครื่องมือ QA เพื่อทำงานบนคำขอดึงเดียว | ||||
อีซีเอส | ตั้งค่าและดำเนินการตรวจสอบมาตรฐานการเขียนโค้ด | ||||
การติดเชื้อ | กรอบการทดสอบการกลายพันธุ์ PHP ที่ใช้ AST | ||||
ลาราสถาน | ส่วนขยาย PHPStan สำหรับ Laravel | ||||
local-php-security-checker | ตรวจสอบการพึ่งพาของผู้แต่งเพื่อหาช่องโหว่ด้านความปลอดภัยที่ทราบ | ||||
ขนานผ้าสำลี | ตรวจสอบไวยากรณ์ของไฟล์ PHP | ||||
ปาเรสต์ | การทดสอบแบบขนานสำหรับ PHPUnit | ||||
พึ่งได้ | เครื่องมือวิเคราะห์แบบคงที่ | ||||
ศัตรูพืช | กรอบการทดสอบ PHP ที่หรูหรา | ||||
พาน | เครื่องมือวิเคราะห์แบบคงที่ | ||||
ไฟฟ์ | สภาพแวดล้อมการติดตั้งและการตรวจสอบ PHAR | ||||
php-cs-ผู้ให้บริการ | เครื่องมือแก้ไขมาตรฐานการเข้ารหัส PHP | ||||
php-fuzzer.php | fuzzer สำหรับ PHP ซึ่งสามารถใช้ค้นหาจุดบกพร่องในไลบรารีโดยป้อนอินพุต 'สุ่ม' ให้กับพวกมัน | ||||
php-semver-checker.php | แนะนำเวอร์ชันถัดไปตามการกำหนดเวอร์ชันเชิงความหมาย | ||||
พพ | ตรวจสอบสมมติฐานที่อ่อนแอ | ||||
phparkitect | ช่วยวางข้อจำกัดทางสถาปัตยกรรมในฐานโค้ด PHP | ||||
พพัฒน์ | เครื่องมือทดสอบสถาปัตยกรรมที่ใช้งานง่าย | ||||
phpbench.php | กรอบการเปรียบเทียบ PHP | ||||
phpca | ค้นหาการใช้งานส่วนขยายที่ไม่มีในตัว | ||||
phpcb | เบราว์เซอร์โค้ด PHP | ||||
phpcbf.php | แก้ไขการละเมิดมาตรฐานการเข้ารหัสโดยอัตโนมัติ | ||||
phpcodesniffer-ผู้แต่ง-ติดตั้ง | ติดตั้งง่ายของมาตรฐานการเข้ารหัส PHP_CodeSniffer (ชุดกฎ) | ||||
phpcov | ส่วนหน้าบรรทัดคำสั่งสำหรับไลบรารี PHP_CodeCoverage | ||||
phpcpd | ตัวตรวจจับการคัดลอก/วาง | ||||
phpcs | ตรวจจับการละเมิดมาตรฐานการเข้ารหัส | ||||
phpcs-การตรวจสอบความปลอดภัย | ค้นหาช่องโหว่และจุดอ่อนที่เกี่ยวข้องกับความปลอดภัยในโค้ด PHP | ||||
phpdd.php | ค้นหาการใช้งานคุณลักษณะที่เลิกใช้แล้ว | ||||
phpDocumentor.php | เครื่องกำเนิดเอกสาร | ||||
phpinsights | วิเคราะห์คุณภาพ รหัส สไตล์ สถาปัตยกรรม และความซับซ้อน | ||||
phplint | Lints ไฟล์ php ขนานกัน | ||||
phploc | เครื่องมือสำหรับการวัดขนาดของโปรเจ็กต์ PHP อย่างรวดเร็ว | ||||
phpmd.phpmd | เครื่องมือสำหรับค้นหาปัญหาในโค้ด PHP | ||||
phpmetrics | เครื่องมือวิเคราะห์แบบคงที่ | ||||
phpmnd.phpmnd | ช่วยตรวจจับเลขวิเศษ | ||||
phpspec.php | กรอบงาน SpecBDD | ||||
phpstan | เครื่องมือวิเคราะห์แบบคงที่ | ||||
phpstan-โค้ดที่ถูกแบน | กฎ PHPStan สำหรับตรวจจับการเรียกใช้ฟังก์ชันเฉพาะที่คุณไม่ต้องการในโปรเจ็กต์ของคุณ | ||||
phpstan-beberlei-ยืนยัน | ส่วนขยาย PHPStan สำหรับ beberlei/assert | ||||
phpstan-deprecation-กฎ | กฎ PHPStan สำหรับการตรวจจับโค้ดที่เลิกใช้แล้ว | ||||
PHPstan-หลักคำสอน | ส่วนขยายหลักคำสอนสำหรับ PHPStan | ||||
phpstan-ergebnis-กฎ | กฎเพิ่มเติมสำหรับ PHPstan | ||||
phpstan-ข้อยกเว้นกฎ | กฎ PHPStan สำหรับข้อยกเว้นที่ถูกตรวจสอบและไม่ถูกตรวจสอบ | ||||
phpstan-larastan | การติดตั้ง phpstan สำหรับ larastan แยกกัน | ||||
phpstan-phpunit.phpstan | ส่วนขยายและกฎ PHPUnit สำหรับ PHPStan | ||||
phpstan-เข้มงวด-กฎ | กฎที่เข้มงวดและเข้มงวดเป็นพิเศษสำหรับ PHPStan | ||||
phpstan-symfony.phpstan | ส่วนขยาย Symfony สำหรับ PHPStan | ||||
phpstan-webmozart-assert.phpstan-webmozart-ยืนยัน | ส่วนขยาย PHPStan สำหรับ webmozart/assert | ||||
phpunit | กรอบการทดสอบ PHP | ||||
phpunit-10 | กรอบการทดสอบ PHP (เวอร์ชัน 10.x) | ||||
phpunit-8 | กรอบการทดสอบ PHP (เวอร์ชัน 8.x) | ||||
phpunit-9 | กรอบการทดสอบ PHP (เวอร์ชัน 9.x) | ||||
ไพน์ | เครื่องมือแก้ไขสไตล์โค้ด PHP ที่ได้รับความเห็นชอบสำหรับ Laravel | ||||
สดุดี | ค้นหาข้อผิดพลาดในแอปพลิเคชัน PHP | ||||
สดุดีปลั๊กอินหลักคำสอน | โครงเพื่อให้สดุดีเข้าใจหลักคำสอนดีขึ้น | ||||
สดุดีปลั๊กอิน-phpunit | ปลั๊กอินสดุดีสำหรับ PHPUnit | ||||
สดุดีปลั๊กอิน-symfony | ปลั๊กอินสดุดีสำหรับ Symfony | ||||
psecio-แยกวิเคราะห์ | สแกนโค้ดเพื่อดูปัญหาด้านความปลอดภัยที่อาจเกิดขึ้น | ||||
อธิการบดี | เครื่องมือสำหรับการอัพเกรดโค้ดและการปรับโครงสร้างใหม่ทันที | ||||
ตรวจสอบความเข้ากันได้แบบย้อนกลับ | เครื่องมือในการเปรียบเทียบการแก้ไขคลาส API สองครั้งเพื่อตรวจสอบการแตกของ BC | ||||
ง่าย-phpunit | จัดเตรียมยูทิลิตี้เพื่อรายงานการทดสอบแบบเดิมและการใช้งานโค้ดที่เลิกใช้แล้ว | ||||
ทวิก-cs-ผู้ให้บริการ | แก้ไขไฟล์ทวิกโดยอัตโนมัติตามกฎมาตรฐานการเข้ารหัสอย่างเป็นทางการ | ||||
กิ่งผ้าสำลี | cli สแตนด์อโลนทวิ 1.X linter | ||||
กิ่งก้าน | cli สแตนด์อโลน 3.X linter | ||||
ทวิคส์ | รูปแบบการตรวจสอบที่ขาดหายไปสำหรับกิ่งไม้! | ||||
yaml-ผ้าสำลี | ยูทิลิตี้บรรทัดคำสั่งขนาดกะทัดรัดสำหรับตรวจสอบไวยากรณ์ของไฟล์ YAML |
เครื่องมือบางอย่างไม่รวมอยู่ในอิมเมจนักเทียบท่า หากต้องการใช้อ้างอิงถึงเอกสารประกอบ:
ชื่อ | สรุป |
---|---|
วิเคราะห์ | แสดงภาพตัวชี้วัดและซอร์สโค้ด |
กล่องมรดก | กล่องรุ่นเก่า |
นักแต่งเพลง-ทำให้เป็นมาตรฐาน | ปลั๊กอินนักแต่งเพลงเพื่อทำให้ไฟล์ composer.json เป็นมาตรฐาน |
รูปแบบการออกแบบ | ตรวจจับรูปแบบการออกแบบ |
ขนานผ้าสำลี | ตรวจสอบไวยากรณ์ของไฟล์ PHP |
php-coupling-detector.php | ตรวจพบปัญหาการเชื่อมต่อโค้ด |
php-ฟอร์แมตเตอร์ | ผู้ให้บริการมาตรฐานการเข้ารหัสแบบกำหนดเอง |
phpcf | ค้นหาการใช้งานคุณลักษณะที่เลิกใช้แล้ว |
phpda | สร้างกราฟการพึ่งพา |
phpdoc-to-typehint.php | เพิ่มคำแนะนำประเภทและประเภทการส่งคืนโดยอัตโนมัติตาม PHPDocs |
phpstan-localheinz-กฎ | กฎเพิ่มเติมสำหรับ PHPstan |
ผู้ตรวจสอบความปลอดภัย | ตรวจสอบการพึ่งพาของผู้แต่งเพื่อหาช่องโหว่ด้านความปลอดภัยที่ทราบ |
ความสามารถในการทดสอบ | วิเคราะห์และรายงานปัญหาความสามารถในการทดสอบของโค้ดเบส php |
ดึงภาพ:
docker pull jakzal/phpqa
คำสั่งเริ่มต้นจะแสดงรายการเครื่องมือที่มีอยู่:
docker run -it --rm jakzal/phpqa
หากต้องการเรียกใช้เครื่องมือที่เลือกภายในคอนเทนเนอร์ คุณจะต้องเมานต์ไดเร็กทอรีโปรเจ็กต์บนคอนเทนเนอร์ด้วย -v "$(pwd):/project"
เครื่องมือบางอย่างชอบเขียนลงในไดเร็กทอรี /tmp
(เช่น PHPStan หรือ Behat ในบางกรณี) ดังนั้นจึงมักจะมีประโยชน์ในการแบ่งปันระหว่างการรันนักเทียบท่า เช่น -v "$(pwd)/tmp-phpqa:/tmp"
หากคุณต้องการขัดจังหวะเครื่องมือที่เลือกหากใช้เวลานานเกินไปในการดำเนินการให้เสร็จสิ้น คุณสามารถใช้ตัวเลือก --init
โปรดดูเอกสารประกอบการเรียกใช้นักเทียบท่าสำหรับข้อมูลเพิ่มเติม
docker run --init -it --rm -v " $( pwd ) :/project " -v " $( pwd ) /tmp-phpqa:/tmp " -w /project jakzal/phpqa phpstan analyse src
คุณอาจต้องการปรับแต่งคำสั่งนี้ตามความต้องการของคุณและสร้างนามแฝงเพื่อความสะดวก:
alias phpqa= ' docker run --init -it --rm -v "$(pwd):/project" -v "$(pwd)/tmp-phpqa:/tmp" -w /project jakzal/phpqa:alpine '
เพิ่มลงใน ~/.bashrc
ของคุณเพื่อให้มีการกำหนดทุกครั้งที่คุณเริ่มเซสชันเทอร์มินัลใหม่
ตอนนี้คำสั่งจะง่ายขึ้นมาก:
phpqa phpstan analyse src
git clone https://github.com/jakzal/phpqa.git
cd phpqa
make build-debian
วิธีสร้างเวอร์ชันอัลไพน์:
make build-alpine
โปรดดูตำราอาหารเพื่อดูเคล็ดลับและคำแนะนำเพิ่มเติม
โปรดอ่านคู่มือการมีส่วนร่วมเพื่อเรียนรู้เกี่ยวกับการมีส่วนร่วมในโครงการนี้ โปรดทราบว่าโครงการนี้เผยแพร่พร้อมกับจรรยาบรรณของผู้ร่วมให้ข้อมูล การเข้าร่วมในโครงการนี้แสดงว่าคุณตกลงที่จะปฏิบัติตามข้อกำหนด