📝

Laravel Livewireを使うときのControllerの扱い

2024/05/05に公開

参考記事

https://php-junkie.net/framework/laravel/laravel-livewire-controller/

参考記事と本記事のタイトルが一緒だが本当にそのことで悩んだので一緒にしておく

経緯

Laravel Livewireを使い始めると、普段Controllerで書いている処理はほぼlivewire Componentに書いて処理できることに気付いた。
そうなると「Controllerの意味って?」っと疑問に感じたので調べてみた。

結論

上記の参考記事書かれていた

  • Controller: ページへのアクセス権限の確認、view()メソッドの実行
  • Livewire Component: なるべく小さい単位で、パーツごとにコンポーネントを作る。表示とアクション要求の受け取りを行う
  • テンプレート: 各要素別の表示権限の確認はテンプレート内で行う
  • Action: 操作権限の確認やバリデーションをしてから実際の処理を実行する

をベースにするのがよさそう。

Discussion