Open6
Study | PHP静的解析
PHPStan
- ファイル毎の解析可能
- 拡張作成可能
拡張例
- var_dumpの下記忘れでCIを落とす
- 引数の型をエラーに含める
-
ParamHelper
// $idは1以上のint (int<1, max>) の型になる $id = ParamHelper::get('id')->asPositiveInt();
// $nameはstring|falseの型になり、get('name')で値を取得できない場合はfalseが格納される $name = ParamHelper::get('name')->orDefaultFalse()->asString();
Util_Assert
参考資料
Psalm
- 検知された違反ルールがなぜ不適切なのか理由が解説されるため、納得感を得やすくなっている。
- これがなんで悪いの? と思うときがあるが、理解ができると直すモチベーションも得られるのではないか。
https://tech-blog.rakus.co.jp/entry/20220922/php#PHPMD