Performant Static Analyzer untuk PHP, yang sangat mudah digunakan. Ini membantu Anda menangkap kesalahan umum dalam kode PHP Anda.
Cara paling sederhana untuk menginstal fanalis adalah dengan menggunakan skrip instalasi.
curl --proto ' =https ' --tlsv1.2 -sSf https://raw.githubusercontent.com/denzyldick/phanalist/main/bin/init.sh | shIni akan secara otomatis mengunduh yang dapat dieksekusi untuk platform Anda:
$ ~ /phanalist -V
phanalist 1.0.0Ada juga beberapa opsi instalasi lainnya.
Untuk menganalisis sumber proyek Anda, Anda hanya perlu menjalankan phanalist :
~ /phanalist
Pada run pertama phanalist.yaml akan dibuat dengan konfigurasi default. Dan itu akan digunakan kembali pada semua berjalan berikut.
Ada juga beberapa parameter tambahan:
config : Path ke file konfigurasi, ./phanalist.yaml adalah nilai default.src : Path to Project Sources, ./src adalah nilai default.output-format : Format yang digunakan untuk menghasilkan hasil. Opsi yang mungkin adalah text (default), json dan sarif .summary-only : Output hanya jumlah pelanggaran yang ditemukan untuk setiap aturan.quiet : Menekan semua output.Opsi yang mungkin adalah:
enabled_rules berisi daftar aturan untuk digunakan. Semua aturan akan digunakan jika daftar ini kosong.disable_rules berisi daftar aturan untuk diabaikan.rules opsi khusus.File konfigurasi default adalah:
enabled_rules : []
disable_rules : []
rules :
E0007 :
check_constructor : true
max_parameters : 5
E0009 :
max_complexity : 10
E0010 :
max_paths : 200
E0012 :
include_namespaces :
- " App \ Service \ "
- " App \ Controller \ "
exclude_namespaces : []Aturan berikut tersedia:
| Kode | Nama | Opsi default |
|---|---|---|
| E0000 | Aturan contoh | |
| E0001 | Posisi tag membuka | |
| E0002 | Tangkapan kosong | |
| E0003 | Pengubah metode | |
| E0004 | Konstanta huruf besar | |
| E0005 | Nama kelas yang dikapitalisasi | |
| E0006 | Pengubah properti | |
| E0007 | Parameter Metode Hitungan | check_constructor: true, max_parameters: 5 |
| E0008 | Tanda tangan tipe pengembalian | |
| E0009 | Kompleksitas siklomatik | Max_Complexity: 10 |
| E0010 | Kompleksitas npath | Max_Complexity: 200 |
| E0011 | Simbol Supresi Kesalahan Deteksi (@) | |
| E0012 | Kompatibilitas layanan dengan model memori bersama | include_namespaces: ["app service "], Exclude_namespaces: [], reset_interfaces: ["resetInterface"] |
| E0013 | Metode pribadi tidak digunakan |
Menambahkan aturan baru adalah tugas sederhana, dan tutorial ini menjelaskan cara melakukannya.
Baca serangkaian bab di https://dev.to/denzyldick untuk memahami internal proyek. Ini adalah pengantar yang bagus dan mudah dibaca untuk proyek ini.