Gambar Docker menyediakan alat analisis statis untuk PHP. Daftar alat yang tersedia dan penginstalnya sebenarnya dikelola di repositori jakzal/toolbox
.
Repositori hub Docker: https://hub.docker.com/r/jakzal/phpqa/
Pembuatan malam: 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
(Dockerfile)1.99.0-php8.2
, 1.99-php8.2
, php8.2-debian
, php8.2
(Dockerfile)1.99.0-php8.3
, 1.99-php8.3
, php8.3-debian
, php8.3
(Dockerfile)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) Diperbarui setiap hari: latest
, debian
, alpine
, php8.4
, php8.4-alpine
, dll. Diperbarui pada perubahan versi patch: 1.61
, 1.61-php8.4
, 1.61-php8.4-alpine
, dll. Tidak pernah diperbarui: 1.61.0
, 1.61.0-php8.4
, 1.61.0-php8.4-alpine
, dll.
Ini adalah tag terbaru untuk versi PHP yang tidak lagi didukung:
1.92.7-php8.0
, 1.93-php8.0
, php8.0-debian
, php8.0
(Dockerfile)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
(Dockerfile)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
(debian/Dockerfile)1.61.2-php7.3-alpine
, 1.61-php7.3-alpine
, php7.3-alpine
(alpine/Dockerfile)1.44.0-php7.2
, 1.44-php7.2
, php7.2
(7.2/debian/Dockerfile)1.44.0-php7.2-alpine
, 1.44-php7.2-alpine
, php7.2-alpine
(7.2/alpine/Dockerfile)1.26.0-php7.1
, 1.26-php7.1
, php7.1
(7.1/debian/Dockerfile)1.26.0-php7.1-alpine
, 1.26-php7.1-alpine
, php7.1-alpine
(7.1/alpine/Dockerfile) Nama | Keterangan | PHP 8.1 | PHP 8.2 | PHP 8.3 | PHP 8.4 |
---|---|---|---|---|---|
behat | Membantu menguji ekspektasi bisnis | ||||
kotak | Bundel aplikasi tanpa konfigurasi yang cepat dengan PHAR | ||||
kotak-3 | Bundel aplikasi tanpa konfigurasi yang cepat dengan PHAR | ||||
mengocok | Menemukan kandidat yang baik untuk refactoring | ||||
kodesepsi | Codeception adalah kerangka pengujian PHP bergaya BDD | ||||
komposer | Manajer Ketergantungan untuk PHP | ||||
komposer-bin-plugin | Plugin komposer untuk menginstal vendor bin di lokasi terisolasi | ||||
normalisasi komposer | Plugin komposer untuk menormalkan file composer.json | ||||
komposer-membutuhkan-pemeriksa | Verifikasi bahwa tidak ada simbol yang tidak diketahui yang digunakan dalam sumber paket. | ||||
komposer-membutuhkan-pemeriksa-3 | Verifikasi bahwa tidak ada simbol yang tidak diketahui yang digunakan dalam sumber paket. | ||||
komposer-tidak digunakan | Tampilkan paket yang tidak digunakan dengan memindai kode Anda | ||||
dephpend | Deteksi kelemahan dalam arsitektur Anda | ||||
detektor penghentian | Menemukan penggunaan kode yang tidak digunakan lagi | ||||
departemen | Menerapkan aturan ketergantungan antar lapisan perangkat lunak | ||||
diffFilter | Menerapkan alat QA untuk dijalankan pada satu permintaan penarikan | ||||
ecs | Menyiapkan dan menjalankan pemeriksaan standar pengkodean | ||||
infeksi | Kerangka Pengujian Mutasi PHP berbasis AST | ||||
larastan | Ekstensi PHPStan untuk Laravel | ||||
pemeriksa keamanan-php-lokal | Memeriksa dependensi komposer untuk mengetahui kerentanan keamanan | ||||
serat paralel | Memeriksa sintaks file PHP | ||||
paratest | Pengujian paralel untuk PHPUnit | ||||
tergantung | Alat Analisis Statis | ||||
hama | Kerangka Pengujian PHP yang elegan | ||||
phan | Alat Analisis Statis | ||||
phive | Lingkungan Instalasi dan Verifikasi PHAR | ||||
pemecah masalah php-cs | Pemecah Standar Pengkodean PHP | ||||
php-fuzzer | Fuzzer untuk PHP, yang dapat digunakan untuk menemukan bug di perpustakaan dengan memberikan input 'acak' | ||||
php-semver-checker | Menyarankan versi berikutnya sesuai dengan versi semantik | ||||
phpa | Memeriksa asumsi yang lemah | ||||
phparkitect | Membantu menempatkan batasan arsitektur dalam basis kode PHP | ||||
phpat | Alat pengujian arsitektur yang mudah digunakan | ||||
phpbench | Kerangka Pembandingan PHP | ||||
phpca | Menemukan penggunaan ekstensi non-bawaan | ||||
phpcb | Peramban Kode PHP | ||||
phpcbf | Secara otomatis memperbaiki pelanggaran standar pengkodean | ||||
phpcodesniffer-komposer-install | Instalasi standar pengkodean PHP_CodeSniffer yang mudah (aturan). | ||||
phpcov | frontend baris perintah untuk perpustakaan PHP_CodeCoverage | ||||
phppcd | Salin/Tempel Detektor | ||||
phpcs | Mendeteksi pelanggaran standar pengkodean | ||||
phpcs-keamanan-audit | Menemukan kerentanan dan kelemahan terkait keamanan dalam kode PHP | ||||
phpdd | Menemukan penggunaan fitur yang tidak digunakan lagi | ||||
phpDokumentor | Pembuat dokumentasi | ||||
wawasan php | Menganalisis kualitas kode, gaya, arsitektur, dan kompleksitas | ||||
phplint | Lints file php secara paralel | ||||
phploc | Alat untuk mengukur ukuran proyek PHP dengan cepat | ||||
phpMD | Alat untuk menemukan masalah dalam kode PHP | ||||
phpmetrics | Alat Analisis Statis | ||||
phpmnd | Membantu mendeteksi angka ajaib | ||||
phpspec | Kerangka SpecBDD | ||||
phpstan | Alat Analisis Statis | ||||
kode-dilarang-phpstan | Aturan PHPStan untuk mendeteksi panggilan ke fungsi tertentu yang tidak Anda inginkan dalam proyek Anda | ||||
phpstan-beberlei-menegaskan | Ekstensi PHPStan untuk beberlei/assert | ||||
aturan penghentian-phpstan | Aturan PHPStan untuk mendeteksi kode yang tidak digunakan lagi | ||||
phpstan-doktrin | Ekstensi doktrin untuk PHPStan | ||||
aturan-phpstan-ergebnis | Aturan tambahan untuk PHPstan | ||||
aturan pengecualian phpstan | Aturan PHPStan untuk pengecualian yang dicentang dan tidak dicentang | ||||
phpstan-larastan | Instalasi terpisah phpstan untuk larastan | ||||
phpstan-phpunit | Ekstensi PHPUnit dan aturan untuk PHPStan | ||||
aturan ketat phpstan | Aturan ekstra ketat dan keras kepala untuk PHPStan | ||||
phpstan-simfoni | Ekstensi Symfony untuk PHPStan | ||||
phpstan-webmozart-assert | Ekstensi PHPStan untuk webmozart/assert | ||||
unit php | Kerangka pengujian PHP | ||||
phpunit-10 | Kerangka pengujian PHP (versi 10.x) | ||||
phpunit-8 | Kerangka pengujian PHP (versi 8.x) | ||||
phpunit-9 | Kerangka pengujian PHP (versi 9.x) | ||||
pint | Pemecah gaya kode PHP untuk Laravel | ||||
mazmur | Menemukan kesalahan dalam aplikasi PHP | ||||
mazmur-plugin-doktrin | Rintisan bertopik agar Mazmur memahami Ajaran dengan lebih baik | ||||
mazmur-plugin-phpunit | Plugin Mazmur untuk PHPUnit | ||||
mazmur-plugin-simfoni | Plugin Mazmur untuk Symfony | ||||
psecio-parse | Memindai kode untuk mencari potensi masalah terkait keamanan | ||||
rektor | Alat untuk peningkatan kode instan dan pemfaktoran ulang | ||||
pemeriksaan kompatibilitas-mundur-roave | Alat untuk membandingkan dua revisi API kelas untuk memeriksa jeda BC | ||||
sederhana-phpunit | Menyediakan utilitas untuk melaporkan pengujian lama dan penggunaan kode yang tidak digunakan lagi | ||||
ranting-cs-fixer | Secara otomatis mengoreksi file ranting mengikuti aturan standar pengkodean resmi | ||||
ranting-serat | Ranting cli mandiri 1.X linter | ||||
ranting-linter | Ranting cli mandiri 3.X linter | ||||
rantingcs | Gaya centang yang hilang untuk ranting! | ||||
yaml-lint | Utilitas baris perintah ringkas untuk memeriksa sintaks file YAML |
Beberapa alat tidak disertakan dalam gambar buruh pelabuhan, untuk menggunakannya lihat dokumentasinya:
Nama | Ringkasan |
---|---|
menganalisa | Memvisualisasikan metrik dan kode sumber |
warisan kotak | Kotak versi lama |
normalisasi komposer | Plugin komposer untuk menormalkan file composer.json |
pola desain | Mendeteksi pola desain |
serat paralel | Memeriksa sintaks file PHP |
php-kopling-detektor | Mendeteksi masalah penggabungan kode |
pemformat php | Pemecah standar pengkodean khusus |
phpcf | Menemukan penggunaan fitur yang tidak digunakan lagi |
phpda | Menghasilkan grafik ketergantungan |
phpdoc-untuk-mengetik | Secara otomatis menambahkan petunjuk tipe dan mengembalikan tipe berdasarkan PHPDocs |
aturan phpstan-localheinz | Aturan tambahan untuk PHPstan |
pemeriksa keamanan | Memeriksa dependensi komposer untuk mengetahui kerentanan keamanan |
kemampuan untuk diuji | Menganalisis dan melaporkan masalah pengujian basis kode php |
Tarik gambar:
docker pull jakzal/phpqa
Perintah default akan mencantumkan alat yang tersedia:
docker run -it --rm jakzal/phpqa
Untuk menjalankan alat yang dipilih di dalam penampung, Anda harus memasang direktori proyek pada penampung dengan -v "$(pwd):/project"
. Beberapa alat suka menulis ke direktori /tmp
(seperti PHPStan, atau Behat dalam beberapa kasus), oleh karena itu sering kali berguna untuk membaginya di antara proses buruh pelabuhan, yaitu dengan -v "$(pwd)/tmp-phpqa:/tmp"
. Jika Anda ingin menghentikan alat yang dipilih jika memerlukan terlalu banyak waktu untuk menyelesaikannya, Anda dapat menggunakan opsi --init
. Silakan merujuk ke dokumentasi proses buruh pelabuhan untuk informasi lebih lanjut.
docker run --init -it --rm -v " $( pwd ) :/project " -v " $( pwd ) /tmp-phpqa:/tmp " -w /project jakzal/phpqa phpstan analyse src
Anda mungkin ingin mengubah perintah ini sesuai kebutuhan Anda dan membuat alias untuk kenyamanan:
alias phpqa= ' docker run --init -it --rm -v "$(pwd):/project" -v "$(pwd)/tmp-phpqa:/tmp" -w /project jakzal/phpqa:alpine '
Tambahkan ke ~/.bashrc
Anda sehingga ditentukan setiap kali Anda memulai sesi terminal baru.
Sekarang perintahnya menjadi lebih sederhana:
phpqa phpstan analyse src
git clone https://github.com/jakzal/phpqa.git
cd phpqa
make build-debian
Untuk membuat versi alpine:
make build-alpine
Silakan periksa buku masak untuk tips & trik lebih lanjut.
Silakan baca panduan Berkontribusi untuk mempelajari tentang berkontribusi pada proyek ini. Harap dicatat bahwa proyek ini dirilis dengan Kode Etik Kontributor. Dengan berpartisipasi dalam proyek ini, Anda setuju untuk mematuhi ketentuannya.