ログ日記

作業ログと日記とメモ

PHPStan

PHP7とPHPStanで網羅性をチェックしたい

Feature Request は出ている。github.com github.comそれから、PHP8のmatch式なら既にチェックされる。github.comでもすぐにはPHP8に上げられないし、PHP7の switch で網羅性をチェックしたい。 2年前のissueなので、実装される可能性は薄いか…。

PHPStanとPsalmを混ぜた機能が欲しい

PHPStanはテンプレート+callableのネストに対応していた。

PHPStanのextensionでnamespace・class名の依存関係チェックする

前に書いた記事 DDDのさわりをやろうとした - ログ日記 ここで作ろうと思っていた拡張を作った。 github.comサンプル。 https://github.com/nishimura/phpstan-namespace-dependency-sample 実際に作ってみると、各レイヤーごとの依存関係の認識が曖昧なこと…

PHPStan バージョン0.12.24から PDOStatementが Traversable でなくなってしまった件

ジェネリクスの実装が @implements Traversable<array<int|string, mixed>>で固定されるようになった。FETCH_CLASSとジェネリクスを組み合わせていい感じにマッピングする方法が使えなくなって、ちょっとめんどくなってしまった。 都度 @var が必要になる。一応報告しておいたけど。 h</array<int|string,>…

PHPStan が早い

PHPStanのデフォルトのルールを変更したくて、どうすれば良いか分からなかった。 デフォルトの config.neon を変更する方法を教えてってissueに書いたら10分後に返信来た。 scopeClassを変更すればgetType()で何でもできるよ、でも全体で一つの拡張しか使え…