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(=== ) |