LoginSignup
21
23

More than 5 years have passed since last update.

PHP 静的解析ツール PHPStan のルール一覧

Posted at

PHPStan 0.5.2 が対象

levelは、0が最も緩くて4が最も厳しい。(デフォルト 0)

vendor/bin/phpstan analyse -l 4 src

ルール一覧

level 種別 ルール 概要
0 クラス AccessPropertiesRule 存在しないとか 親クラスの private とかのプロパティへのアクセス(オブジェクト演算子(->))
0 クラス AccessStaticPropertiesRule 存在しないとか 親クラスの private とかのプロパティへのアクセス(スコープ定義演算子(::))
0 クラス ClassConstantRule 不正なクラス定数へのアクセス
0 クラス ExistingClassesInPropertiesRule クラスのプロパティのアノテーション(/** @var UnknownClass */)の型が存在しない
0 クラス ExistingClassInInstanceOfRule instanceof の右辺値のクラスが存在しない
0 クラス InstantiationRule インスタンス生成(new)時のコンストラクタ引数不正
0 クラス RequireParentConstructCallRule 親クラスのコンストラクタを呼んでない
0 クラス UnusedConstructorParametersRule コンストラクタのパラメーターで使ってないのがある
0 例外 CatchedExceptionExistenceRule catch のクラス名が存在しない
0 関数 CallToFunctionParametersRule 関数呼出時の引数の数が不正
0 関数 CallToNonExistentFunctionRule 存在しない関数呼出や、関数呼出時の関数名の大文字小文字間違い
0 関数 ExistingClassesInClosureTypehintsRule クロージャーの型宣言のクラスが存在しない
0 関数 ExistingClassesInTypehintsRule 関数定義の型宣言のクラスが存在しない
0 関数 PrintfParametersRule sprintf/printf フォーマット文字列(%s)と引数の数が一致しない
0 関数 UnusedClosureUsesRule クロージャーの use の変数を使ってない
0 メソッド CallMethodsRule メソッド系エラー
0 メソッド CallStaticMethodsRule staticメソッド系エラー
0 メソッド ExistingClassesInTypehintsRule メソッドの型宣言のクラスが存在しない
1 変数 DefinedVariableInAnonymousFunctionUseRule 無名関数の use の変数が定義されていない
1 変数 DefinedVariableRule 定義されていない変数から、オブジェクト演算子(->)を使ったり、if文の条件式に使ったり
3 配列 AppendedArrayItemTypeRule 配列のアノテーション(/** @param int[] $a */)の型と代入する値の型が一致しない
3 クラス DefaultValueTypesAssignedToPropertiesRule クラスのプロパティのアノテーション(/** @var string */)の型とデフォルト値の型の不一致
3 クラス TypesAssignedToPropertiesRule クラスのプロパティのアノテーション(/** @var string */)の型と一致しない値の代入
3 関数 ClosureReturnTypeRule クロージャーの戻り値が、宣言と一致しない
3 関数 ReturnTypeRule 関数の戻り値が、宣言と一致しない
3 メソッド ReturnTypeRule メソッドの戻り値が、宣言と一致しない
3 変数 VariableCloningRule clone の右辺値がオブジェクト型でない
4 キャスト UselessCastRule 無駄なキャスト((int)5; (string)'5';)
4 比較 StrictComparisonOfDifferentTypesRule 常にfalseになる Identical(===)
21
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
23