phanalist
version for Sarif output.
PHPのパフォーマンスの静的アナライザー。非常に使いやすいです。 PHPコードで一般的な間違いをキャッチするのに役立ちます。
ファナリストをインストールする最も簡単な方法は、インストールスクリプトを使用することです。
curl --proto ' =https ' --tlsv1.2 -sSf https://raw.githubusercontent.com/denzyldick/phanalist/main/bin/init.sh | shプラットフォームの実行可能ファイルを自動的にダウンロードします。
$ ~ /phanalist -V
phanalist 1.0.0他の複数のインストールオプションもあります。
プロジェクトソースを分析するには、 phanalistを実行するだけです。
~ /phanalist
最初の実行では、 phanalist.yamlデフォルトの構成で作成されます。そして、それは次のすべての実行で再利用されます。
追加のパラメーターもいくつかあります。
config :構成ファイルへのパス、 ./phanalist.yaml phanalist.yamlはデフォルト値です。src :プロジェクトソースへのパス、 ./srcはデフォルト値です。output-format :結果の出力に使用される形式。可能なオプションは、 text (デフォルト)、 json 、 sarifです。summary-only :ルールごとに発見された違反の量のみを出力します。quiet :すべての出力を抑制します。可能なオプションは次のとおりです。
enabled_rulesは、使用するルールのリストが含まれています。このリストが空の場合、すべてのルールが使用されます。disable_rulesには、無視するルールのリストが含まれています。rules固有のオプション。デフォルトの構成ファイルは次のとおりです。
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 : []次のルールが利用可能です。
| コード | 名前 | デフォルトオプション |
|---|---|---|
| E0000 | 例ルール | |
| E0001 | オープニングタグ位置 | |
| E0002 | 空のキャッチ | |
| E0003 | メソッド修飾子 | |
| E0004 | 大文字の定数 | |
| E0005 | 大文字のクラス名 | |
| E0006 | プロパティ修飾子 | |
| E0007 | メソッドパラメーターカウント | check_constructor:true、max_parameters:5 |
| E0008 | タイプの署名を返します | |
| E0009 | 環状複雑さ | max_complexity:10 |
| E0010 | npathの複雑さ | max_complexity:200 |
| E0011 | エラー抑制シンボル(@)を検出する | |
| E0012 | 共有メモリモデルとのサービス互換性 | include_namespaces:["app service "]、 exclude_namespaces:[]、 reset_interfaces:["resetinterface"] |
| E0013 | 使用されていないプライベートメソッド |
新しいルールを追加することは簡単なタスクです。このチュートリアルでは、その方法を説明しています。
https://dev.to/denzyldickの一連の章を読んで、プロジェクトの内部を理解してください。これは、このプロジェクトの素晴らしい、読みやすい紹介です。