質問: ### 前提・実現したいこと laravelを使って簡単な計算アプリを作成したいです。 構成は **1トップページ**(webアプリについての説明、HTML/CSSのみ) **2登録ページ**(名前やアドレス等を入力するページ) **3ログインページ**(アドレスとパスワードを入力するページ) **4数値を入力するページ** **5計算結果のページ** です。 ### 発生している問題 MVCについて説明を読んでも実際使ってみると不明点ばかりで困っています。 **質問(1)** 上記の1のページはviewの表示のみで成り立つのでモデルとコントローラーを使っていないのですが、この場合はそのままモデルとコントローラーを作成せずviewのみで良いのでしょうか? **質問(2)** このような、複数にページが渡るアプリをlaravelで作成する場合は、各ページ全てにそれぞれモデルとコントローラーとビューを用意する必要があるのでしょうか? **質問(3)** 1〜5までのページの推移について、web.phpファイルでルーティングするのかaタグでリンクさせるのかが分かりません。 内容でわかりづらい点等あればすぐに修正します。ご回答いただけると有り難いです。
回答: > > 質問(1) > > 上記の1のページはviewの表示のみで成り立つのでモデルとコントローラーを使っていないのですが、この場合はそのままモデルとコントローラーを作成せずviewのみで良いのでしょうか? > > > 質問(2) > > このような、複数にページが渡るアプリをlaravelで作成する場合は、各ページ全てにそれぞれモデルとコントローラーとビューを用意する必要があるのでしょうか? > > > 作り次第。 如何様にも出来るので自分で決めて自分でやってください。 > > 質問(3) > > 1〜5までのページの推移について、web.phpファイルでルーティングするのかaタグでリンクさせるのかが分かりません。 > > 1から2もしくは3へ飛ばす場合はリンク、それ以外はルーティングなのかなとなんとなく考えていますが、どうすれば良いでしょうか。 > > > ルーティングとリンクは全く別の概念。 まずは下記を読んで概要を理解してください。 * ルーティング (routing)- 「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典 > > 上記記事から抜粋: > > 通信において「あ~、君はそこに行きたいのか~。じゃあ、取りあえずそっちの道を行きなよ」と、データさんの行くべき道を示してくれる仕組みのこと > > > つまりルーティングは あくまで`○○というURLでアクセスされたら××という処理を行う(コントローラを利用する)`のを振り分ける役割を担っているものです。 そこに画面同士の画面遷移(推移って言葉間違えてます)は絡んできません。「処理を行う」部分でやることになるかもしれませんが、段階が違います。 ところでそもそも 静的ページと動的ページの意味は分かりますか? 例え動的ページであっても結局のところHTMLを画面出力をしているだけに過ぎません。 静的ページである場合、画面遷移はどう作ってますか? 画面に出ているのはあくまでHTMLです。ブラウザで画面表示して「ソースを表示」すると出てくるのはHTMLだけですよね。 ルーティングのルの字もでてきません。 ということでひとまず まずはLaravel度外視して、自分でPHP書いて作ってみてはいかがでしょうか? それができるかできないかでアドバイスの方向性が全く違います。 もしできるのであれば、それぞれの機能を置き換えていく作業になります。 ここは「こういう表現はフレームワークではどうするのか」を考えたり検証することになるのでフレームワークのマニュアルの出番ですね。 まとめ フレームワークとはあくまで「枠組みを提供するもの」なので、その枠組みをどのように利用するか、利用できるかを考えるのはあくまで利用者の仕事になります。 つまり、フレームワークなしにしてもある程度自分で作っていく力が必要になります。 質問者さんは今どこまでできるのでしょうか? Laravelのようなフレームワークはもちろんですが、PHP、HTML、JavaScript、CSSなど、 作りたいアプリケーションを作るための技術や知識はどこまで揃っているのでしょうか? 「フレームワーク」に限らず言語も全て道具に過ぎません。 「これを使えば○○ができる」というのはあくまで道具をきちんと使える前提であり、 自動的に勝手に出来上がるわけでもないです。 その言語やフレームワークの得手不得手も理解して道具として活用していく必要があります。