アプリケーション開発で使用する主なフォルダとファイル
次にLaravelアプリケーションの開発で使用するフォルダとファイルを解説していきますが、その前に、Laravelの特徴であるMVCモデルについてだけ説明させてください。
MVCモデル
MVC(Model-View-Controller)とはUIアーキテクチャの一種です。
UIアーキテクチャとか知らん!という声が聞こえてきそうですが、要するにアプリケーション設定を整理するための概念の一種です。
ページを表示するときに実行される処理を切り分け、それぞれに管理する考え方とも言えるかもしれません。
MVCはModel(バックエンドでのシステム設計や機能担当)、View(フロントエンド担当)、Controller(バックエンドでの計算担当)のような感じで、設計、見た目、処理の3つに役割を分割しています。
基本的には、モデルでデータベースのレコードやリレーショナル・データベースなどを指定し、コントローラーでレコードの値などを受け取ったり計算し、ビューで計算結果を受け取って表示する流れになります。
このあたりは言葉で言っても理解しにくいので、今後の実践を通じて理解していきましょう。
ちなみに、MVC以外にもMVVMやMVPなどがありますが、ここでは関係ないので割愛します。
ちなみに、MVCはページ毎にファイルを用意するのが基本ですが、共通機能として1つのファイルを共有して使用することも可能です。
app/Modelsフォルダ
MVCモデルのModelを格納するフォルダです。
Modelではそれぞれのテーブルに関する内容が記述されます。
また、テーブル内のレコードの使用・不使用の許可も設定できます。
app/Http/Controllersフォルダ
MVCモデルのControllerを格納するフォルダです。
対応するデータベースからレコードの抽出・加工、計算処理などを行い、返り値を後述するViewに渡します。
POSTデータを受け取り、お問い合わせの入力内容を確認ページへ渡したりするのもコントローラーの役割です。
database/factoriesフォルダ
database/migrationsフォルダ
対応するテーブルの設計書に当たります。
マイグレーションファイルに記述されたテーブルの内容を実行することで、データベースへ記述どおりのテーブルが作成されます。
基本的には実行してテーブルが作られると変更はできませんが、データベースの内容を一部変更することで再度テーブルを作成することができます。
これについては次回以降の記事で実際にやってみる予定です。
resoucesフォルダ / viewsフォルダ
resoucesフォルダはCSSや画像などの編集ファイルが格納される実際の開発エリアです。
resoucesフォルダの中にはviewsフォルダもあり、こちらでフロントエンドとなるビューファイルを編集します。
publicフォルダ
resoucesフォルダ内で編集されたファイルをコンパイルしたものが格納される本番用エリアです。
Laravelではresourcesではなくpublic内のファイルを参照して実際に表示されます。
storageフォルダ
アップロード機能などでサーバーに保存される画像などを格納するためのフォルダです。
しかしLaravelはこのあたりが良くも悪くも柔軟なため、設定次第では独自のuploadフォルダなどに保存先を変更することも可能です。
routes/web.phpファイル
各ページのURLとそれぞれに対応したコントローラーなどを紐付けするファイルです。
1ページごとに記述していくので、ページ数が増えると管理が難しくなってくるかなと思います。
ですがページを増やすには必須ですので、ちゃんと書き方を覚えましょう。
最後に
第2回も最後までお付き合いいただきありがとうございます。
次回より顧客管理システムを本格的に作っていきますので、是非楽しみにしていてください。
コメント