フレームワークとは、ざっくり説明すると開発に役立つ機能群です。
プログラムの書き方は人それぞれです。
しかし、フレームワークを使うことで、効率よく開発できるだけでなく、他の人が見たときにもわかりやすいコードが作成できます。
今回は、フレームワークの中でもWEB開発に役立つPHPフレームワーク「Laravel」のディレクトリ構成をMVCの概念にあわせて、簡単に説明します。
Laravelはどこに何がある?
Laravelを入れたフォルダに移動すると、このようなファイルやフォルダが入っているのが分かります。
適切なフォルダにコードを記入していきます。
今回は開発の目的ごとに、どのフォルダに何をつくればいいのか説明してきます。
名前で機能をイメージしよう
初見で、どこに何があるのかはわかる人は素晴らしいです。
フレームワークを熟知していない私には、とても無理でした。
しかし、ファイルやフォルダの名前から大体どのような機能が入っているのか想像することはできます。
これを意識するうちに、どのフォルダで何をすればいいかだんだん理解できるようになるかもしれません。
WEBページを表示したい
基本中の基本、表示したいページのファイル(例えば、index.php)とcssはどのディレクトリ下のファイルに書いたらいいんだろう・・・。
htmlを記述したページのファイルは、/resources/views/
、
cssファイルは、/public/css
の下に書いていきます。
cssファイルはディレクトリ名がcssなので、分かりやすいですね。
ページとして表示するファイルをviewsディレクトリ下に置く理由を考えるには、MVCという概念を理解することが大切です。
MVCは、それぞれModel、View、Controllerを表していて、このViewに当てはまる処理をviewsディレクトリ下に書いていくのです。
この概念におけるViewとはデータの処理に基づいて、htmlなどの出力を行う処理を表しています。
そのため、ページとして表示するファイルはViewであるから、viewsディレクトリ下に作成すればいいのです。
メインの処理やデータベースへのアクセス
メインの処理やデータベースへのアクセスは、MVCの概念では、Modelに該当します。
ただし、Modelを書く時は、自分でファイルを作成するのではなく、
laravelのコマンドartisanを使って、php artisan make:model モデル名
で作成するのがおすすめです。
ユーザーからのリクエストに応じて処理
ユーザーからのリクエストを受けとり、それに応じた処理をModelやViewを制御することで実行するのが、MVC概念のControllerの役割です。
Controllerのファイルは/app/Http/controllers/
の下に入れます。
ControllerもModelと同様に、artisanを使って、
php artisan make:controller コントローラー名
を実行することができます。