Laravel Breezeインストールで追加されるファイルがLarastanに引っかかる
はじめに
会社の自社製品を作ろうとなり、その土台を任されたので土台をLaravelにしました。
開発体験をよく出来たらと、そこに認証機能のBreezeと静的解析ツールのLarastanを導入しましたが、そこでしょっぱなからエラーに遭遇しました。
日本語記事も出てこなかったため、書いておきます。
結論Illuminate\Contracts\Auth\MustVerifyEmailというインターフェイスをUserモデルで実装しろっていう話ですね。
環境
Laravel v10.28.0 Laravel Breeze v1.26.1 larastan v2.6.4
エラー文
App/Http/Controllers/Auth/VerifyEmailController.php::23行目 Parameter #1 $user of class Illuminate\Auth\Events\Verified constructor expects Illuminate\Contracts\Auth\MustVerifyEmail, App\Models\User|null given.
解決策
App/Models/User.php + use Illuminate\Contracts\Auth\MustVerifyEmail; - class User extends Authenticatable + class User extends Authenticatable implements MustVerifyEmail
あとがき
メールでのアカウント確認が不要ならそのファイルと関連の記述を削除すればよいかと思いますね。
ほかにもBreezeインストールで実装されたcomponentsたちが使われていないというようなエラーとかも出ているので、
解決したら追記します。