業務でLaravelを書いており、どうするのがいいのかわからなくなったので質問させてください。
(業務のコードなので題材が実際のものとは違いますので察していただければと思います)
- 投稿を見るページ(posts/:id)
- コメントを見るページ(posts/:id/comments/:c_id)
のページがあり、
投稿(posts)された詳細ページを表示するコード
public function show($id){ //① idを使ってモデルからpostsを取り出す。 //② 取り出した①が存在するかどうかを検証なければ404 //③ ①で取り出したpostsがactiveかどうか検証 }
コメントの詳細ページを表示するコード
public function show($id,$c_id){ //① idとc_idを使ってモデルからcommentsを取り出す。 //② 取り出した①が存在するかどうかを検証なければ404 //③ ①で取り出したpostsがactiveかどうか検証 //④ コメントした投稿者が〜〜な設定なら404 }
みたいなContorller内に似たようなチェック処理が多々出てきておりそれをどのように共通化orどこかに切り出せればと思っておりどのようにするのが良いのでしょうか?
多分ビジネスロジックと呼ばれる部分で、service層と言われるところにまとめるのでしょうか?
コード例などいただけると嬉しいです。